使用 ASP.Net 诊断 IIS7 上的“找不到指定的模块”

使用 ASP.Net 诊断 IIS7 上的“找不到指定的模块”

我正在将一些 Web 应用程序从带有 IIS6 服务器的 Windows 2003 服务器迁移到带有 IIS7 的 Windows Server 2008 R2 服务器。

其中一个使用表单身份验证在 asp.net v2.0 上运行的应用程序将无法加载。

它给了我以下错误...

找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

描述:执行当前 Web 请求时发生未处理的异常。请查看堆栈跟踪以获取有关错误及其在代码中起源的更多信息。

异常详细信息:System.IO.FileNotFoundException:找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)

现在我完全理解应用程序由于 FileNotFoundException 而无法加载某种资源,但我很难诊断应用程序中发生这种情况的具体位置,因为它没有告诉我模块是什么,也没有告诉我它正在寻找什么文件。

我已启用失败请求跟踪并获得了完整的请求跟踪,但我找不到任何能够提供有关此特定错误或所涉及模块的详细信息。

这是失败请求的日志(和 xsl 表)...

XML 日志文件

日志文件的 XSL 样式表

将两者下载到您的机器并打开 xml 文件。

如能提供任何关于诊断问题根本原因的建议,我们将不胜感激。

答案1

我以前见过这种情况,引用管理程序集在之前的机器上存在(比如在 GAC 中或者在其他位置注册),但是在新机器上不存在。

如果你能识别失踪管理程序集,一种方法可能是将它们配置为“复制本地”,以便它们被“bin 部署”到应用程序 bin 文件夹。

您可能想尝试运行 SysInternals'进程监控识别缺失的组件。

还出现过几次 %systemroot%\system32 文件夹中缺少本机程序集的情况,例如 msvcr71.dll。

https://stackoverflow.com/a/4889139/175990

https://stackoverflow.com/a/1680241/175990

相关内容