当我在Visual Studio中启动新的ASP.NET项目时,我可以创建ASP.NET Web应用程序,也可以创建ASP.NET网站。

ASP.NET Web应用程序和ASP.NET网站之间的区别是什么?为什么我会选择一个而不是另一个?

答案是否因我使用的Visual Studio版本而异?


当前回答

在Web应用程序项目中,Visual Studio需要用于页面和用户控件的其他.designer文件。网站项目不需要此开销。标记本身被解释为设计。

其他回答

这里Web支持应用程序是网站的一个示例。网站和Web应用程序都可以是动态/静态的,这取决于需求,这里有一个例子来理解网站和Web程序的工作。

我建议您观看ASP.NET网站上的“Web应用程序项目和Web部署项目”视频,该视频非常详细地解释了差异,这对我很有帮助。

顺便说一句,不要被标题所迷惑,视频的很大一部分解释了网站项目和web应用程序项目之间的区别,以及为什么Microsoft在Visual studio 2005中重新引入web应用程序(正如您可能已经知道的那样,它最初只提供网站项目,然后在SP1中添加了web应用程序)。这是一个很棒的视频,我强烈推荐给任何想了解差异的人。

网站-不会创建解决方案文件。如果我们想创建网站,不需要visual studio。

Web应用程序-将创建解决方案文件。如果我们想创建web应用程序,应该需要visual studio。它将在bin文件夹中创建一个.dll文件。

MSDN中有一篇文章描述了这些差异:

比较网站项目和Web应用程序项目

BTW:关于这个话题有一些类似的问题,例如:

Visual Studio中的网站与ASP.Net Web应用程序之比较注意:已删除,不再在SO中ASP.NET中的网站或Web应用程序

在web应用程序中,您可以创建项目功能的层,并通过将其划分为多个项目来创建它们之间的相互依赖关系,但您永远无法在网站上做到这一点。