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

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

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


当前回答

网站=当网站由图形设计师创建且程序员仅编辑一到两页时使用

Web应用程序=当应用程序由程序员创建且图形设计师仅编辑一页或两页/图像时使用。

网站可以使用任何HTML工具进行工作,而不必使用开发人员工作室,因为项目文件不需要更新等。当团队主要使用开发人员studio并且代码内容较高时,Web应用程序是最佳的。

(某些编码错误在编译时在Web应用程序中发现,直到运行时才在Web站点中发现。)

警告:我多年前就写过这个答案,之后就再也没有使用Asp.net了。我想事情已经开始了。

其他回答

Web应用程序项目模型

提供与Visual Studio.NET Web相同的Web项目语义项目。具有项目文件(基于项目文件的结构)。构建模型-项目中的所有代码都编译为单个装配支持IIS和内置ASP.NET开发服务器支持Visual Studio 2005的所有功能(重构,泛型等)和ASP.NET(主页、成员资格和登录名,网站导航、主题等)。使用FrontPage服务器扩展(FPSE)不再是要求。

网站项目模型

没有项目文件(基于文件系统)。新的编译模型。动态编译和处理页面,无需构建整个站点在每个页面视图上。支持IIS和内置ASP.NET Development Server。每个页面都有自己的程序集。不同的代码模型。

除非您特别需要动态编译的项目,否则不要使用网站项目。

为什么?因为当你试图改变或理解你的项目时,网站项目会把你逼疯。Visual Studio中的静态类型查找功能(例如查找用法、重构)将永远适用于任何大小合理的项目。有关详细信息,请参阅Visual Studio中的堆栈溢出问题慢速“查找所有引用”。

我真的看不出他们为什么会放弃Visual Studio 2005中的web应用程序,因为它是一种令人痛苦、精神错乱、效率低下的网站项目类型。

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

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

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

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

“网站”的代码位于一个特殊的App_code目录中,并且在运行时被编译为多个DLL(程序集)。“web应用程序”被预编译为一个DLL。

网站和Project>>网站是使用visual studio创建ASP.NET应用程序的两种不同方法。一个是无项目的,另一个是项目环境。差异如下

解决方案文件存储在项目环境中与根目录相同的目录中。在项目环境中部署之前,需要删除解决方案和项目文件。完整的根目录部署在无项目环境中。

使用这两种方法都没有太大的基本区别。但如果您创建的网站需要更长的时间,请选择项目环境。