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