偶尔我遇到依赖非托管.dll抛出异常的应用程序的问题:
System.IO.FileLoadException:无法加载文件或程序集'AssemblyXXXX,Version = 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 :(得分:3)
Fuslogvw显示了程序集加载错误的详细信息。但是,我猜它是一个COM 问题。
尝试使用Type.GetTypeFromProgID
和Activator.CreateInstance
动态加载每个COM依赖项(可能在不同的程序中,也可能使用它们的progid),并单独捕获每个错误。
过去,当用户的计算机上安装了不同(较旧)的Office版本时,我看到了这个错误。