5

次のエラー メッセージが表示され、プログラムがクラッシュすることがあります。

System.Reflection.TargetInvocationException: 呼び出しのターゲットによって例外がスローされました。---> System.BadImageFormatException: インデックスが見つかりません。(HRESULT からの例外: 0x80131124)

関連する可能性のある詳細:

  • C# 4 / .NET 4
  • Windows 7 64 ビット OS。EXE は任意の CPU 用です (つまり、64 ビット モードです)。
  • これは、カスタム オブジェクトの 1 つの構築中にスローされます。このオブジェクトを子 AppDomain に作成しているので、着信要求を処理することによってロードされる DLL をアンロードできます。
  • http://blogs.msdn.com/b/yizhang/から、HRESULT 0x80131124 = CLDB_E_INDEX_NOTFOUND が表示されます。
  • これが発生するのを最近見ただけで (このアプリに 3 年間取り組んでいます)、今でも、Red Gate Performance Analyzer または Red Gate Memory Analyzer を使用してツールのプロファイリングを試みたときにのみ発生します。

私の質問は

  • これは何を意味するのでしょうか ?
  • 「インデックスが見つかりません」とは何ですか?
  • これを修正するにはどうすればよいですか?

どうもありがとう。

アップデート

ANY の EXE をターゲットにする代わりに、強制的に x64 にしました。問題はまだ発生します。

4

3 に答える 3

2

ソリューション構成を調べて、すべてのプロジェクトが同じプラットフォームにビルドされていることを確認してください。

エラーの理由は、x86 ファイルが 64 ビット dll をロードしようとしている、またはその逆です。

それが役に立てば幸い。

于 2011-11-24T06:55:44.663 に答える
0

プラットフォーム ターゲットビルドをX86に変更できます

于 2011-11-24T03:31:17.493 に答える