ASP.NET/Web Application Projects 对比 Web Site Projects

维基教科书,自由的教学读本

使用Visual Studio开发Asp.Net项目有两种项目选择:

  • Web Application Projects:为首选。支持调试时的 Edit and Continue。支持页面类中的单元测试。引用到页面类与单独类中的用户控件。 支持依赖于多个web项目的项目。编译器为整个site生成单个assembly(不含 .aspx与.ascx文件) 。控制生成的assembly的名字与版本号。支持用MSBuild或Team Build管理项目的编译。避免在生产服务器上部署源代码。
  • Web Site Projects:没有项目文件(.csproj or .vbproj),文件夹下所有文件都被包括在项目中。支持一个web项目同时包含C#与Visual Basic代码。可以通过FTP,用VS直接open生产site并修改它。不需要编译即可以部署。如果做预编译,可以为每个页面或用户控件、文件夹创建单独的assembly。在服务器上对所有新文件或修改过的文件在第一次访问时自动编译为assembly。生产中修改单个文件并复制到生产服务器上生效;或直接在生产服务器上编辑单个文件。编译单个文件而不需要重新编译整个site。在生产服务器上保留源代码起到备份效果。

应该在创建项目时就选好采用那种类型。从一种类型转换到另一种类型是耗时的、困难的、易错的。