7

[Dllimport("DllName.dll")] を使用すると、dll へのパスがプロセスの PATH 環境変数に存在することが確実な場合でも、「DllName.dll が見つかりませんでした」というメッセージが表示されます。

4

4 に答える 4

13

"DllName.dll could not be found" は、DllImport が DllName.dll 依存関係の 1 つを見つけられなかったことを意味する場合もあります。

Dependecy Walkerを入手して、不足している依存関係を確認してください。

于 2009-03-17T12:56:09.183 に答える
1

DllImport は、DLL をロードするときに PATH 環境変数を参照しません。DLL が名前で参照されている場合、DllImport は、ネイティブ プログラムにネイティブ DLL をロードするための標準規則に従っていると確信しています。これらのルールの詳細については、こちらの記事をご覧ください

http://msdn.microsoft.com/en-us/library/ms682586.aspx

DLL をロードする最も簡単な方法は、実行中のプログラムと同じ場所に置くことです。

于 2008-11-16T17:52:01.577 に答える
1

FileMon (sysinternals.com) を使用して、ライブラリの場所に関する想定が正しいかどうかを確認することをお勧めします。

于 2008-11-16T17:05:06.087 に答える