发布Web应用程序和网站

时间:2013-03-07 22:24:49

标签: asp.net

我知道引用存储在ASP.NET Web应用程序的项目(vbproj)文件和网站的Web.Config(http://msdn.microsoft.com/en-us/library/37e2zyhb%28v=vs.71%29.aspx)中。

我最近将网站转换为网络应用程序。我现在注意到,即使Web.Config中的版本信息不正确,Web应用程序也会发布(使用“发布”选项),然后在通过浏览器访问Web应用程序时出现错误。

如果Web.Config中的程序集版本不正确,我无法发布网站。

我读到Web应用程序是预编译的(发布之前),而网站是在第一次通过浏览器访问网站时编译的。

因此,我相信我所说的应该是另一种方式,即我应该能够在Web.Config中发布版本不正确的网站(因为它们没有编译),我不应该发布一个网络应用程序。

我错过了什么?

1 个答案:

答案 0 :(得分:0)

经过一些进一步的研究后;我发现ASP.NET Web应用程序是使用MSBuild构建的,ASP.NET网站是使用ASPnet_Compiler构建的。 ASPnet_Compiler在构建时在Web.Config中查找引用的程序集(添加程序集标记),而MSBuild在构建时查找项目文件(vbproj)。

在没有vbproj的情况下部署Web应用程序。我相信项目文件用于链接。因此,在运行时,Web应用程序使用Web.Config中的信息来标识要在本地bin文件夹中查找的程序集,然后识别GAC(仅适用于aspx页面)。 nameapces仍然必须手动导入到部分类后面的代码中。

如果有人有任何意见或更好的答案,请发帖。