【问题标题】:ASP.NET: What deployment options do I have?ASP.NET:我有哪些部署选项?
【发布时间】:2010-08-30 17:46:45
【问题描述】:
我很快将管理一组 ASP.NET 网络服务器...
部署 ASP.NET 网络服务器有哪些技术限制?我可以将文件复制过来,重新启动网站,然后就可以开始了吗?
这与 VS2010 的“部署”有什么不同吗?
我拥有什么“类型”的项目重要吗:网站还是 Web 应用程序?
【问题讨论】:
标签:
asp.net
web-applications
deployment
web-deployment-project
web-site-project
【解决方案1】:
您可能需要查看 Web Deployment Projects (WDP) 的 Visual Studio。这些是 MSBuild 类型的项目,将 aspnet_compile.exe 的功能包装到一组易于配置的项目属性中。如果您正在进行自动化构建和部署,这些类型的项目会使事情变得简单得多(至少它们为我做了!)。
它们为您提供了根据构建类型(发布、调试等)交换配置文件(appSettings、connectionStrings 等)的能力,您还可以设置输出 DLL 的构建方式(per-文件、一个程序集等)。这对于网站应用程序非常有用——对于网络应用程序项目来说不是很多。
如果您同时使用 WSP 和 WAP,则使用 WDP 可能会给您带来一定的一致性。
查看 Scott Guthrie 关于使用 WDP 的博客以及他的 VS2010 更新。
【解决方案2】:
网站或 Web 应用程序无关紧要。这只是网站开发和编译时的区别,而不是部署时的区别(除非网站会有更多的 .dll 文件。)
你真的可以把所有的文件复制到你的新网站上,只要你做一个干净的副本。应用程序会自动re-jit,因此您不必重新启动网站。
为了让事情变得更简单,我会使用自动发布器,例如 NaNT、Cruise control 或 MSBuild。我从未使用过它,但是 VS2010 的内置发布器也可能会满足您的需求。