2011-03-24 49 views
0

偶尔我有依赖于非托管的.dll的投掷例外,它们看起来像应用程序的问题:追查System.IO.FileLoadException

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对象没有注册。

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

+0

什么是'AssemblyXXXX'? – 2011-03-24 14:12:21

回答

3

Fuslogvw向您显示装配加载错误的详细信息。但是,我猜这是COM 的问题。

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

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