BadImageFormatException 0x80131124(未找到索引)是什么意思?

时间:2011-11-24 02:34:03

标签: .net badimageformatexception

我的程序偶尔会崩溃,并显示以下错误消息:

  

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性能分析器或Red Gate Memory Analyzer进行性能分析时才会发生这种情况。

我的问题是

  • 这是什么意思?
  • 什么是'未找到索引'?
  • 我该如何解决这个问题?

非常感谢。

更新

我没有将EXE作为任何目标,而是将其强制为x64。问题仍然存在。

3 个答案:

答案 0 :(得分:1)

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

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

希望它有所帮助。

答案 1 :(得分:0)

您可以将平台目标版本更改为 X86

答案 2 :(得分:0)

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