【发布时间】:2012-02-19 12:43:07
【问题描述】:
我的 Web 应用程序构建和发布成功,将文件复制到 Web 服务器后出现问题,当我尝试浏览多个页面时出现编译错误,但其他页面继续正常运行。
我的第一个想法是某些文件可能没有被成功复制,所以我重新发布并测试了该页面,一切似乎都很好,直到我检查了另一个页面,该页面一直在使用以前的发布,现在出现同样的问题随后的发布也看到了类似的效果,受影响的页面每次都会发生变化。
Web 服务器上出现故障的页面之前在 Web 服务器上正常运行,并没有针对此次发布进行更改,并且在 Visual Studio 2010 Debug 中继续正常工作。
我已经回收了应用程序池重启了网站并重启了服务器。
我们的错误日志中的错误是:
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 文件,并将其重新发布为解决方案。新页面与失败的页面并存。
【问题讨论】:
-
谢谢,我们现在已经完成了那个帖子,但不幸的是没有成功。