私はC#winappを持っています。 C#アプリケーションからネイティブの.dllファイル(自分でC++で作成したもの)を呼び出しても問題ありません。C#.NETからWin32ネイティブDLLファイルを読み込めません
しかし、私は他のマシンに自分のアプリケーション(.exeファイルと.dllファイル)をコピーするとき、私はというエラーを取得:
DLLをロードできません「C:\ dllname.dllを」:指定されたモジュールを見つけることができませんでした。 (HRESULTからの例外:0x8007007E)ここ
は、C#のコードです:
class IsoMessageHelper
{
public const string ISO8583_DLL = "c:\\Hc8583.dll";
[DllImport(ISO8583_DLL, CallingConvention = CallingConvention.Cdecl)]
public static extern bool InitializationRq(...)
}
私は何をすべき?
あなたのC#コードから ''宣言を投稿してください。 –
私は投稿を編集し、C#のdllインポートコードも書いています。 – losingsleeep
あなたのコードは、C:\ディレクトリのDLLへのパスをまだハードコードしています。他の答えが示唆しているように、これを行う理由はありません。アプリケーションは、実行可能ファイルと同じディレクトリに配置されたDLLを自動的にロードします。必要なのはファイル名のみです。 –