【问题标题】:IntelliLock 1.5 An attempt was made to load a program with an incorrect format. (Exception from HRESULT: 0x8007000B)IntelliLock 1.5 试图加载格式不正确的程序。 (来自 HRESULT 的异常:0x8007000B)
【发布时间】:2012-04-28 14:09:48
【问题描述】:

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

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

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

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

有什么解决办法吗?

【问题讨论】:

  • 这可能是目标平台,尝试将它们全部编译为 x86 或 x64。
  • 是的,我知道,所有程序集都是 x86。在混淆这个特定的 dll 之前没有问题。
  • 我认为你需要去 Intellilock 寻求支持——这听起来像是他们混淆器中的一个错误。除非有人在我怀疑我们能否为您提供帮助之前发现了这个特定问题。
  • 我已经将此问题发送给支持人员,但他们通常不回答问题。 :) 只希望有人遇到同样的问题。
  • 如果您是客户并且他们不回答您的问题,那么这是非常粗制滥造的支持。您可能不是他们的首要任务,但他们仍应确认您的电子邮件并给您一个回复您的时间框架。我会追着他们寻求回应,甚至可能打电话给他们检查他们是否正在为你调查。

标签: .net prism intellilock


【解决方案1】:

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

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

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

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

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

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

【讨论】:

  • 这里的要点是一切工作正常,但在 IntelliLock 混淆后只有一个 .dll 模块。
  • 更重要的是,只有当它被可移植 dll 引用混淆时,dll 才能工作。
  • 检查 Dependency Walker 2.2 对 ieshims.dll 发出了红灯,这在我的情况下真的很重要吗?
  • 所以 - 让我理解 - 问题在混淆之后发生,并且它是否通常在常规/正常编译中工作?您将所有文件混淆在一起并运行(例如)NCover 并检查名称空间是否未损坏?似乎是混淆过程中的问题,而不是 .NET 编译中的问题......会不会是?
  • 是的,它仅在混淆之后发生并且如果我引用了可移植 dll。我没有 NCover,我应该检查一下吗?
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 2016-05-09
    • 2017-12-31
    • 1970-01-01
    • 1970-01-01
    • 2011-08-14
    • 1970-01-01
    • 2022-10-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多