5

「Win32」プラットフォームのWindows7(64ビットOS)でビルドしたdllがあります。残念ながら、この dll を C# コードにインポートすると、次のような問題が発生します。

"

不正な形式のプログラムをロードしようとしました HRESULT: 0x8007000B

」が観察される

この DLL に DependencyWalker を使用すると、IESHIMS.dll と MSVCR110.dll の依存関係が見つかりませんでした。

これらの dll がどこから来て、作成した dll がこれら 2 つに依存するのはなぜですか? どうすればこれを乗り越えることができますか?

注: C# コードで x86 プラットフォームを使用しました。

4

3 に答える 3

2

C++ ランタイムがインストールされていない可能性があります。ダウンロードしてインストールします。ランタイムのバージョンを少しいじる必要があります。かなりの数のバージョンが利用可能です。これにより、MSVCR110.dll の問題が解決されます。ただし、DLLがIE DLLの依存関係を示す理由はわかりません。

于 2012-09-20T16:11:09.157 に答える
1

C# プロジェクトのプロパティで、ターゲット アーキテクチャに x86 を選択したことを確認してください。

于 2012-09-20T15:19:51.757 に答える