当我开始一个新的ASP.NET项目,我可以创建一个ASP.NET Web应用程序,或者我可以创建一个ASP.NET网站.

ASP和ASP的区别是什么.NET Web应用程序和ASP.NET网站?为什么我会 Select 其中一个呢?

根据我使用的Visual Studio版本,答案是否有所不同?

推荐答案

网站:

Web Site项目是动态编译的.你最终会得到更多的DLL文件,这可能是一件痛苦的事情.当一个目录中的页面或控件需要引用另一个目录中的页面和控件时,也会出现问题,因为另一个目录可能尚未编译到代码中.另一个问题可能是出版业.

如果visualstudio没有被告知经常重复使用相同的名称,它将一直为页面生成的DLL文件提供新名称.这可能会导致包含相同类名的多个DLL文件的紧密副本,

Web应用程序:

Web Application项目是作为加载项创建的,现在作为一部分存在 用于Visual Studio 2005的SP 1的.主要区别在于Web应用程序项目 的工作方式与Visual Studio2003附带的Web项目类似.它将在生成时将应用程序编译为单个DLL文件 时间到了.若要更新项目,必须重新编译该项目,并将DLL文件 发布以使更改生效.

Web应用程序的另一个不错的功能

100

100条也给出了为什么使用其中一种而不使用另一种的原因.以下是它的节选:

  • 您需要迁移大型Visual Studio.NET 2003应用程序到VS
  • 您希望以Web项目的形式打开和编辑任何目录,而无需
  • 您需要在编译期间添加预构建和后构建步骤吗?
  • 您需要使用多个Web构建Web应用程序 项目?use the Web Application project.
  • 是否要为每页生成一个程序集?use the Web Site project.
  • 您更喜欢动态编译和处理页面,而不需要生成 每页查看整个站点?use Web Site project.
  • 与代码隐藏模型相比,您更喜欢单页代码模型吗?use Web Site project.

100(MSDN)解释了网站和web应用程序项目之间的差异.此外,还讨论了在VisualStudio中进行的配置.

Asp.net相关问答推荐

如何处理当前文件中基本文件中的S onClick方法

在 Web.Config 中模拟标签

C# ASP.NET Core Serilog 添加类名和方法到日志(log)

返回 HttpResponseMessage 时的 WebAPI Gzip

有没有办法将 onclick 事件添加到 ASP.NET 标签服务器控件?

如何判断一个IP地址是否是私有的?

如何将 Castle Windsor 与 ASP.Net Web 表单一起使用?

返回值使用 String result=Command.ExecuteScalar() 结果返回 null 时发生错误

stream.CopyTo - 文件为空.网

在 IIS 上托管 ASP.NET 5 项目

如何在 IIS 7.5 上使用 ASP.NET 表单身份验证保护静态文件?

如何在asp.net中获取应用程序路径?

MVC5 身份验证中的......与主域之间的信任关系失败

ASP.NET IIS Web.config [内部服务器错误]

从 IFrame 重定向父页面

使用 VirtualPathProvider 从 DLL 加载 ASP.NET MVC 视图

路由模板分隔符/不能连续出现 - 属性路由问题

字体真棒里面asp按钮

ASP.net 网站中的 C# 密码文本框

SignalR 2.0 错误:无法加载文件或程序集 Microsoft.Owin.Security