5

我的程序偶尔会因以下错误消息而崩溃:

System.Reflection.TargetInvocationException:调用的目标已引发异常。---> System.BadImageFormatException:找不到索引。(来自 HRESULT 的异常:0x80131124)

一些可能相关的细节:

  • C# 4 / .NET 4
  • Windows 7 64 位操作系统。EXE 适用于任何 CPU(因此它处于 64 位模式)。
  • 这是在构建我的一个自定义对象期间抛出的。我在子 AppDomain 中创建此对象,以便我可以通过为传入请求提供服务来卸载它将加载的 DLL。
  • 我从http://blogs.msdn.com/b/yizhang/看到 HRESULT 0x80131124 = CLDB_E_INDEX_NOTFOUND。
  • 我最近才看到这种情况发生(已经在这个应用程序上工作了 3 年),即使是现在,它也只是在我尝试使用 Red Gate Performance Analyzer 或 Red Gate Memory Analyzer 分析工具时才会发生。

我的问题是

  • 这是什么意思 ?
  • 什么是“未找到索引”?
  • 我该如何解决 ?

非常感谢。

更新

我没有将 EXE 定位为 ANY,而是将其强制为 x64。问题仍然存在。

4

3 回答 3

2

查看您的解决方案配置,以确保您的所有项目都构建到同一平台。

您的错误的原因是因为您有一个 x86 文件试图加载 64 位 dll,反之亦然。

希望能帮助到你。

于 2011-11-24T06:55:44.663 回答
0

您可以将平台目标构建更改为X86

于 2011-11-24T03:31:17.493 回答
0

由于 .NET Framework 损坏,出现了类似的错误。通过实用程序.NET Framework 修复工具恢复解决了该问题。

于 2021-03-15T11:51:20.613 回答