ハードウェアと通信するベンダー提供のDLLに依存するアプリケーション(C#winforms)を開発しています。私は、.NET 4(またはそれ以上のもの)のターゲットフレームワークを選択した場合、参照DLLにメソッドを呼び出そうとしたとき、私は次のメッセージを取得.NETターゲットフレームワークはサードパーティのDLLの読み込みにどのように影響しますか?
:
DllNotFoundException:DLL「somelibraryを読み込むことができません.dll ':メモリの場所へのアクセスが無効です。 (HRESULTからの例外:0x800703E6)
.NET 2.0または3.0のターゲットフレームワークを選択した場合、エラーは発生しません。
互換性がないか、ライブラリが.NET 3.0より古いと思われます。
.DLLがアプリケーションとシリアルポートの間の通信ハンドラとして機能する実行可能ファイルを起動する可能性があります。私は様々な互換モードを使用し、管理者として成功することなく実行するようにアプリケーションを設定しようとしました。
このエラーを回避し、4.5以降のような最新の.NETプラットフォームをターゲットにするにはどうすればよいですか? (または、かなり古いDLLを使用しているために必死になってしまっていますか?)
アプリケーションプラットフォームターゲットはx86で、デフォルト設定ではUACを使用してWin7 x64で開発しています。
ロードしようとしている.NETアセンブリですか? 'ildasm.exe'で開こうとしましたか? 'fuslogwv.exe'が提供する追加情報はありますか? – ironstone13
@ ironstone13あなたが提案したツールを使ってさらに調査します。私は組立の種類がわからない。 – JYelton