我将一些Web应用程序从带有IIS6服务器的Windows 2003服务器迁移到带有IIS7的Windows服务器2008 R2服务器。
其中一个使用表单身份validation在asp.net v2.0上运行的应用程序将不会加载。
它给我以下错误…
指定的模块无法find。 (从HRESULTexception:0x8007007E)
说明:执行当前Web请求期间发生未处理的exception。 请查看堆栈跟踪,了解有关错误的更多信息以及源代码的位置。
exception详细信息:System.IO.FileNotFoundException:无法find指定的模块。 (从HRESULTexception:0x8007007E)
现在我完全明白,由于FileNotFoundException,应用程序无法加载某种资源,但是我正在努力诊断应用程序发生的确切位置,因为它不告诉我模块是什么,也不知道它在查找什么文件对于。
我已经启用失败的请求跟踪,我找回了一个完整的请求跟踪,但我找不到任何东西给我详细的这个具体的错误,或涉及的模块。
这是一个失败请求的日志(和xsl表)…
XML日志文件
用于日志文件的XSL样式表
下载到您的机器并打开xml文件。
任何意见诊断问题的根本原因将不胜感激。
我已经看到这发生在之前的机器上存在引用的托pipe程序集(例如在GAC中或在其他位置注册),但在新机器上不存在。
如果可以识别丢失的托pipe程序集,则可以将其configuration为“复制本地”,以便将它们“bin-deployed”到应用程序bin文件夹中。
您可能想尝试运行SysInternals的Process Monitor来识别缺less的程序集。
还有一些发生在%systemroot%\ system32文件夹中的本地程序集丢失的情况,例如msvcr71.dll。