Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 发布web应用程序和网站_Asp.net - Fatal编程技术网

Asp.net 发布web应用程序和网站

Asp.net 发布web应用程序和网站,asp.net,Asp.net,据我所知,ASP.NET web应用程序的引用存储在项目(vbproj)文件中,网站的引用存储在web.Config()中 我最近将一个网站转换为一个web应用程序。现在我注意到,即使web.Config中的版本信息不正确,web应用程序也会发布(使用发布选项),然后通过浏览器访问web应用程序时,我会收到一个错误 如果Web.Config中的程序集版本不正确,我无法发布网站 我听说web应用程序是预编译的(在发布之前),而网站是在第一次通过浏览器访问时编译的 因此,我认为我所说的应该是另一种方

据我所知,ASP.NET web应用程序的引用存储在项目(vbproj)文件中,网站的引用存储在web.Config()中

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

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

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

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


我遗漏了什么?

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

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

如果有人有任何意见或更好的答案,请张贴