Visual Studio 2005/2008/2010中均有两种Web开发模型,分别是Website(网站)和Web Application Project(Web应用程序项目),许多初学者都不是很清楚这两者有什么区别。今天我又看了一下微软官方MSDN上解释,在此重复一下。
一个website和web app一样出现在visual studio的solution中。但是,website项目只是一组松散组合的文件,没有项目文件,没有特殊文件夹比如bin、App_Code等。visual studio管理这个项目是以你所选择的文件夹作为项目的根目录。solution文件只会记录这个根目录的路径,没有其他多余的配置信息。项目发布时,所有的文件都被发布出去。这样做的目的是项目发布简单,只需要把所有文件拷贝出去,IIS运行是进行即时编译,也可以预编译再发布。
Web Application Project是由工程文件组织网站的,有一些特殊的文件夹bin、App_code、资源文件、主题文件夹等。如果用记事本打开工程文件,可以看到工程中的文件都在其中。你可以在visual studio中指定每个文件编译时的模式,比如是代码文件(将进行编译)、网站内容文件(不编译,即使是.cs文件)、资源文件等等。另外可以指定每个文件发布时是否被排除。项目编译时一般根据namespace不同把可编译的文件都编译进相应的assembly 文件(dll文件).
总得来说,website模式让用户自己组织每个文件在网站中的分布方式,App proj方式根据visual studio推荐的方式组织文件。