IntelliLock 1.5尝试加载格式不正确的程序。 (HRESULT异常:0x8007000B)

时间:2012-04-17 08:35:05

标签: .net prism intellilock

在IntelliLock 1.5中,当我的一个dll的棱镜模块停止加载(统一)后,错误信息是:“试图加载一个格式不正确的程序。 (HRESULT异常:0x8007000B)“

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

首先我认为引用便携式dll存在问题。我用普通的.net替换这个库,但是错误仍然是一样的。

我正在使用.Net 4客户端配置文件。 WPF,C#,Prism 4,团结。

任何想法如何解决?

2 个答案:

答案 0 :(得分:1)

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

1)检查是否满足所有依赖关系。运行DependencyWalker并检查没有红线 - 没有遗漏(请阅读一些文档,因为有时它标记为例如IEShims.dll缺少但你不需要它) - 使用正确正确 comp

版本的DependecyWalker(x86 / x64)

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

3)硬核级别 - 从Sysinternals运行Process Monitor并检查是否有任何丢失/未找到的错误(如果有)。有时这是一个loooong列表...

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

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

答案 1 :(得分:1)

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

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