数時間 Google で調べた後、この問題の解決策がありません。
アンマネージ C++ で DLL を開発しました。これは64ビットコンピューターであるため、そのDLLをSysWOW64フォルダーに配置しました。
一方、DLL に含まれる関数をインポートする C# で開発された Winforms アプリケーションがあります。DllImport("name.dll") を使用していますが、System.DllNotFoundException がスローされます。
ソリューション全体が x64 プラットフォーム用に構成されています。
DLL を実行可能ディレクトリに配置すると、動作します。
開発を簡単にするために、DLL をシステム フォルダーに入れたいと考えています。このプロジェクトを 2 台の異なるコンピューター (デスクトップ PC とノートブック) で開発しています。PC のプラットフォームは 32 ビットですが、ノートブックは 64 ビットで、フォルダーが異なります。
両方のコンピューターでプロジェクトを同期するには、Subversion リポジトリを使用します。もちろん、C++ プロジェクト フォルダーからメインの実行可能ファイルの出力フォルダーに DLL をコピーする Post Build イベントを作成できますが、ノートブックから PC に移動するたびに Post build コマンドを変更する必要があります。
システム フォルダに DLL が見つからない理由がわかりませんか? そして最も重要なことは、それを解決する方法はありますか?
ありがとうハイメ