複数の既存のライブラリを使用して、Windows 8 64 ビット マシンで Web アプリケーションに取り組んでいます。1 つのネイティブ DLL を参照する 2 つの C# DLL を使用したいと考えています。どちらの C# DLL も 64 ビット用にコンパイルされ、テスト アプリケーションでテストされています。私の Web アプリケーションは両方の C# DLL を参照しており、IIS 8 で実行することになっています。2 つの C# DLL をプロジェクトへの参照として追加し、ネイティブ DLL を Web アプリの bin フォルダーに手動で追加しました。ソリューションをビルドして実行するたびに、タイトルに示されている例外が発生します。これは、1 つのプロセスで実行される 32 ビットと 64 ビットのコードに関する問題の兆候であることはわかっています。したがって、さまざまなビルド構成をすべて試しましたが、結果は変わりませんでした。
Web アプリで試していることを正確に実行するコンソール アプリケーションを作成しましたが、問題なく動作しました。ただし、まったく同じ設定の Web アプリケーションは例外をスローします。これは、私にとって本当に混乱を招くものです。
私がこれまでに試したこと:
- アプリケーション プールの設定を「32 ビット アプリケーションを有効にする」に変更します。
- 任意の CPU、64 ビットまたは x86 ターゲットですべての DLL をビルド
- すべての DLL のコルフラグをチェックする
この構成を実行するのを手伝ってくれる人には、プロジェクトのエクスポートを提供できます。
私は本当に助けてくれてありがとう!