1

在 IntelliLock 1.5 中,我的 dll 的 prism 模块之一停止加载(统一)后,错误消息是:“尝试加载格式不正确的程序。(HRESULT 异常:0x8007000B)”</p>

首先,我引用了包含一些共享对象的可移植库(.net,Silverlight 4)。错误类似于“无法加载引用的库 System.Windows”,尽管可移植库中没有 UI,也没有引用 System.Windows dll。但是经过半天的调整 IntelliLock 并试图找出问题所在,统一性开始下降,出现“尝试加载格式不正确的程序。(HRESULT 异常:0x8007000B)”错误。

首先,我想到了引用可移植 dll 的问题。我用普通的.net 替换了这个库,但错误仍然是一样的。

我正在使用 .Net 4 客户端配置文件。WPF,C#,棱镜 4,统一。

任何想法如何解决它?

4

2 回答 2

1

我们前段时间遇到了类似的(??)问题,所以我建议:

1)检查是否所有依赖项都满足。运行 DependencyWalker 并检查是否有红线 - 没有遗漏(请阅读一些文档,因为有时它会将 IEShims.dll 标记为丢失但您不需要它) - 正确使用正确版本的 DependecyWalker (x86/x64)补偿

2)Denis Kucherov 已经很难过:检查父和/或子(依赖)对象是如何编译的。一旦我们尝试在 x64 位机器上使用默认编译为“任何 CPU”的 .NET 项目,通过引用为 x86 编译的 C++ DLL 加载 - 不行 -> 异常、异常、崩溃......

3)核心级别- 从 Sysinternals 运行进程监视器并检查是否有任何丢失/未找到的错误(如果有)。有时这是一个冗长的列表...

我猜你试图加载的 DLL 实际上加载正常,但它本身依赖于其他一些不存在的 DLL

PS您提到.Net客户端配置文件-只需使用完整的.NET Framework尝试一次并检查它是否有帮助-如果有帮助-仔细检查目标comp中安装的.NET客户端配置文件

于 2012-04-17T13:23:10.403 回答
1

正如 Rup 所建议的,这完全是一个 InTelliLock 错误。我设法通过禁用某些库的锁定设置来克服它。好消息是问题在于锁定逻辑而不是混淆。花了几天时间来解决问题。

我仍然没有得到支持团队的任何答复,正如之前所说,我实际上并没有预料到。

于 2012-05-15T08:04:29.397 回答