|
分類:[C# (Windows)]
はじめまして sato と申します。
【 開発環境 】 Windows 2000 SP4 VC# 2005 Express Edition VC++ 2005 Express Edition
VC++ により Win32 ベースのネイティブな DLL を作成し、それを C# で作成したアプリケーションから DllImport により、Win32API を呼び出すのと同じ要領で使用しています。 その際、開発環境で動作確認する限りでは、問題なく動作するのですが、開発環境以外の環境 ( Windows 2000 ) で動作させると、DLL に記述した関数を呼び出す段階で、例外 DllNotFoundException が発生してしまいます。 エラーの内容は以下のとおりです。
DLL '( DLL 名 )' を読み込めません: 指定されたモジュールが見つかりません。 (HRESULT からの例外: 0x8007007E)
DLL は、呼び出す側の EXE ファイルと同一のフォルダに置いています。 私の方で色々と調べた限りでは、各実行環境にも、Microsoft .NET Framework 2.0 SDK 日本語版、を インストールすると、このエラーは発生しなくなります。 しかし実行環境に SDK のインストールを要求するというのも、いかがなものかと感じます。この問題の 解決策について、何かご存知の方がおられましたら、何卒よろしくお願いいたします。
|