Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/google-maps/4.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(4.0)Web应用程序后出现编译错误_Asp.net_Iis 7 - Fatal编程技术网

成功发布ASP.NET(4.0)Web应用程序后出现编译错误

成功发布ASP.NET(4.0)Web应用程序后出现编译错误,asp.net,iis-7,Asp.net,Iis 7,我的Web应用程序成功构建和发布,问题出现在将文件复制到Web服务器后,当我尝试浏览多个页面时,会出现编译错误,但其他页面仍能正常运行 我的第一个想法是,一些文件可能没有被成功复制,所以我重新发布并测试了该页面,直到我检查了一个不同的页面,该页面与以前的发布一起工作,现在出现了相同的问题。随后的发布在受影响的页面上看到了类似的效果时间 web服务器上出现故障的页面以前在web服务器上正常工作,但此次发布时未对其进行更改,并在Visual Studio 2010调试中继续正常工作 我已经回收了应用

我的Web应用程序成功构建和发布,问题出现在将文件复制到Web服务器后,当我尝试浏览多个页面时,会出现编译错误,但其他页面仍能正常运行

我的第一个想法是,一些文件可能没有被成功复制,所以我重新发布并测试了该页面,直到我检查了一个不同的页面,该页面与以前的发布一起工作,现在出现了相同的问题。随后的发布在受影响的页面上看到了类似的效果时间

web服务器上出现故障的页面以前在web服务器上正常工作,但此次发布时未对其进行更改,并在Visual Studio 2010调试中继续正常工作

我已经回收了应用程序池,重新启动了网站并重新启动了服务器

错误日志中的错误为:

GAE:: System.Web.HttpException (0x80004005): The file /XXXX.aspx has not been pre-compiled, and cannot be requested.     
at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)     
at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate)     
at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound)     
at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp)     
at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)     
at System.Web.HttpApplication.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     
at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean& completedSynchronously)

编辑:我已复制了其中一个失败页面的源aspx和cs文件(重命名类),并将其重新发布到解决方案中。新页面与失败的页面并排工作。

可能与文件或IO相关。你复制了所有的文件,不仅仅是二进制文件吗?您可以尝试删除所有旧文件(先备份),这样就不会出现写保护或安全问题。

此错误可能是一种转移视线的错误,通常会掩盖真正的错误

首先检查IIS应用程序、物理目录和受影响文件的权限是否正确

如果不是权限,请将自定义错误设置为RemoteOnly on the webserver only并重新发布。在.net 4中,发布应用程序时勾选以下选项:“允许预编译的站点可更新”和“使用固定命名约定和单页程序集”

当部署到Web服务器时,您应该会发现现在报告的正确问题,这将是丢失的自定义程序集或第三方程序集,这可能是最近添加和删除的,或者是过去的一次爆炸,它在没有明显原因的情况下再次抬头(这是我们的问题,程序集没有在任何表单中使用,而是在配置文件中定义的,因此采用了多个表单)

希望这能帮助你解决问题-祝你好运!

我也有同样的问题

某些页面在发布后尝试打开时会抛出错误

一个对我有效的解决方案是..当我检查那些显示错误的aspx文件时,有CodeFile而不是CodeBehind

我从CodeFile改为CodeBehind,效果很好。(不知道这是否是CodeBehind在bin目录中单独可用的原因..我是新手,可能这个原因不对。如果我错了,请纠正我)


但问题是,在本地主机上,某些文件作为代码保留时会抛出错误。

我在VS2017和一个已经运行了很长时间的应用程序中遇到了同样的问题

应用程序过去是通过XCOPY部署部署的,没有发布。切换到发布方法后,出现错误。 经过一些研究后,我们发现在产品中,web.config中仍然有一个配置文件条目,而它在开发中已经被删除,因为不再需要它了

在web.config中取消对节点配置文件的注释后,应用程序启动并运行


在部署时,我们还删除了除APP_DATA和web.config之外的所有文件。

我认为此线程可能与:

如图所示,我们的解决方案是删除以下目录下的所有文件:

C:\WINDOWS\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files\root

您好,看看这里:谢谢,我们现在已经完成了这篇文章,但不幸的是没有成功。所有文件都被复制了-这是一个已经存在的网站,已经运行了3年多,发布方法仍然是静态的。我目前正在清理一个测试网站,我们也使用它进行另一个测试。我使用了单独的Site在IIS中复制原始文件的所有设置并将所有已发布文件复制到此位置-出现了相同的症状。抱歉,没有线索。可能是服务器上缺少程序集?谢谢-我们在web.config中找到了问题,引用了旧的和现在使用的web控件,此文件的dll在最近的housekee中被删除ping练习,但live站点中缺少web.config条目。