我在托管服务器上经常遇到这个问题。
随机DLL偶尔会出现错误,直到我再次ftp web.config文件(即使是同一个文件),错误发生并且网站开始正常工作。
我在下面发布了异常和堆栈跟踪。
请帮忙......
例外:错误CS0006:元数据文件'C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ Temporary ASP.NET Files \ root ... \ some.dll'无法找到了
System.Web.Compilation.BuildManager.GetBuildResultFromCacheInternal(String cacheKey,Boolean keyFromVPP,System.Web.Compilation.BuildManager.PostProcessFoundBuildResult(BuildResult result,Boolean keyFromVPP,VirtualPath virtualPath)中的堆栈跟踪: System.Web.Compilation上的System.Web.Compilation.BuildManager.GetVPathBuildResultFromCacheInternal(VirtualPath virtualPath)中的System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile)中的VirtualPath virtualPath,Int64 hashCode。 System.Web上的System.Web.Compilation.BuildManager.GetVPathBuildResultWithAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile)中的BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile)。 Compilation.BuildManager.GetVPa系统中System.Web.UI.BaseTemplateParser.GetUserControlType(VirtualPath virtualPath)的System.Web.UI.BaseTemplateParser.GetReferencedType(VirtualPath virtualPath,Boolean allowNoCompile)中的thBuildResult(HttpContext上下文,VirtualPath virtualPath,Boolean noBuild,Boolean allowCrossApp,Boolean allowBuildInPrecompile) System.Web.UI.MainTagNameToTypeMapper.TryUserControlRegisterDirectives(String tagName)中的.Web.UI.MainTagNameToTypeMapper.ProcessUserControlRegistration(UserControlRegisterEntry ucRegisterEntry)
答案 0 :(得分:0)
最有可能的是,当服务器负载不足时,您正在强制重新编译。这可能会产生不可预测的影响。 ASP.NET执行动态重新编译,但是如果要部署多个文件,则可以获得吞下整个代码迁移所需的动态重新编译数量的几何扩展。重新部署web.config可能会重置编译过程。
回收您的应用池会清除此类问题,但您可能缺少该访问权限。部署非高峰可能会缓解这个问题。