VS新建WEB网站与WEB应用程序有何区别

时间:2023-01-25 20:21:02

"网站"是以文件目录为基本单位管理的,直接把iis设成开发目录就可以运行,是非常适合web开发的一种模式。它没有项目文件

,不需要编译,方便调试。是vs2005新推出的一种模式。

"应用程序"是以项目为管理基本单位的。是为了组件化开发等准备的,有项目文件,需要编译发布,适合团队开发使用,但是对

web的开发模式并不十分适应。主要是为了兼容win的开发方式,是一种遗留模式

本来2005是没有“应用程序”方式的,发布后发现很多2003的开发者不习惯,于是我们又把它加上了。另外,要是引用很多代码

的话,“应用程序”方式会快一些。

VS2005新建项目与新建网站时生成的目录与文件结构也不相同

web程序同一般的程序有些不一样,vs不必为它们建立工程(project)文件,所以也可以称为无工程开发(projectless

development),目的是可以保证站点的目录清晰,不乱,有助于web程序最后的配置,可以完全将整个的目录简单的拷贝即可,

因为没有多余的文件。同时,无工程开发可以方便团队开发,因为各自的开发文件不需要同步。在vs中同样还有基于工程的web开

发,可以称为web工程(web projects),实际是这是以前的开发模式,存在的目的,一是可能需要迁移以前开发的web工程到

vs2005下,二是有时需要在一个站点中包括多个工程,三是web工程可以灵活的处理站点的资源文件,比如大量的图片,在开发时

,可以不包含到工程中,四是如果使用MSBuild工具,则必须使用工程文件

原vs.net2005  中没有web应用程序项目。只有新建网站的功能。SP1中增加了web应用程序的功能。此功能推出,满足了众多VS.NET2003开发网站的朋友们。

vs2005的“网站”项目中。其实也有一些优点。原来的vs2003和VS2005SP1中的WEB应用程序.是将整个网站应用程序编译成一个DLL。而网站项目中是对每个aspx生成的代码文件,单独编译。特殊目录App_Code中代码文件才编译成单独一个程序集。这种设计。可以单独生成一个页和该页程序集。上传的时候,可以只更新此页。

但这个“网站”项目,编译速度慢,类型检查不彻底。两个不同的ASPX可以生成相同的两个名称的类。发布的时候,也很慢,会删除所有原始发布目录中的所有文件,且复制所有新的文件。并且中间还有停顿,需要用户主动按覆盖文件的按钮才能发布。

而在SP1中的WEB应用程序中,编译和发布速度中,明显变快,发布的时候一开始就可以设置是否覆盖。原来的网站要升级过来,需要生成一个设计类代码页。有了此文件,编译的时候,编译器就不用再分析ASPX页面了。明显加快了编译速度。且只生成一个程序集。执行的速度页快了。