ストーリー: 私の Web サイトは System.Data.OraceClient で実行されます (さまざまな技術的な理由により、dll を変更できません)。現在、32 ビットのサードパーティ DLL が Web サイトに統合されています。Visual Studio から実行すると、すべてが完全に実行されますが、IIS に公開すると、上記のエラーがスローされます。
現在のソリューション: IIS アプリケーション プールで 32 ビットを有効にする
32 ビットが有効になると、サード パーティの DLL が動作し始め、System.Data.Oracle client fails with BadImageFormat exception
IIS アプリケーション プールで 32 ビットを無効にします。
32 ビットが無効になっている場合System.Data.OracleClient
は動作を開始し、サード パーティの DLL は次のエラーで失敗します。
次のエラーのため、CLSID {xxxxx} を持つコンポーネントの COM クラス ファクトリを取得できませんでした: xxxxxx クラスが登録されていません
-- このクラスは登録されています。そのため、32 ビットが有効になっている場合に機能します。
今、私は一度に 1 つの dll しか動作しない状況にあります。アプリケーション プールで 32 ビットが有効になっているときに、アプリケーション全体を Oracle Data Access に移行せずに System.Data.OracleClient を実行する回避策はありますか?