【问题标题】:Tracking down System.IO.FileLoadException追踪 System.IO.FileLoadException
【发布时间】:2011-03-24 22:19:52
【问题描述】:

有时我会遇到依赖于非托管 .dll 抛出异常的应用程序问题,如下所示:

System.IO.FileLoadException:无法加载文件或程序集“AssemblyXXXX,版本=1.0.4099.27218,Culture=neutral,PublicKeyToken=null”或其依赖项之一。此应用程序无法启动,因为应用程序配置不正确。重新安装应用程序可能会解决此问题。 (来自 HRESULT 的异常:0x800736B1) 文件名:'AssemblyXXXX, Version=1.0.4099.27218, Culture=neutral, PublicKeyToken=null' ---> System.Runtime.InteropServices.COMException (0x800736B1): 由于应用程序配置不正确,该应用程序启动失败。重新安装应用程序可能会解决此问题。 (HRESULT 异常:0x800736B1)

主要问题是,它没有说明哪个 dll 无法加载,或者哪个 COM 对象没有注册。

是否有任何工具可以帮助追踪此问题?

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    Fuslogvw 向您显示程序集加载错误的详细信息。但是,我猜这是一个 COM 问题。

    尝试使用 Type.GetTypeFromProgIDActivator.CreateInstance 动态加载每个 COM 依赖项(可能在不同的程序中,也可能使用它们的 progid),并分别捕获每个错误。

    过去,当用户的计算机上安装了不同(旧)版本的 Office 时,我曾看到此错误。

    【讨论】:

      猜你喜欢
      • 2016-08-31
      • 1970-01-01
      • 2014-10-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多