2

Windows 7 64ビットに更新してから、既存の.NET Webサイトを実行した後、このエラーが発生しました。

[InvalidOperationException:Oracleクライアントライブラリをロードしようとすると、BadImageFormatExceptionがスローされました。この問題は、32ビットのOracleクライアントコンポーネントがインストールされた64ビットモードで実行している場合に発生します。]

インストールした32ビットのOracleClientのみをインストールしましたが、64ビットの開発マシンでは、明示的に指定されていない限り、アプリケーションが64ビットのライブラリを想定していることを理解しています。これは私がこれまでに行った検索からのものです。

Solution Platformをx86に変更できることを読みました。これにより、アプリケーションが32ビットを使用するように指示されます。これを実行したいのですが、VisualStudioソリューションのWebサイトにx86オプションがありません。

テストアプリケーションを作成しましたが、オプションがあります。テストWebサイトを作成しましたが、作成しませんでした。32ビットのOracleクライアントを使用するようにWebサイトをx86にコンパイルするにはどうすればよいですか。

乾杯

4

1 に答える 1

6

IISマネージャーで、アプリケーションプールを作成し、そのアプリケーションプールを32ビットモードで実行するように設定します。次に、32ビットのOracleクライアントを使用してWebサイトを割り当て、その32ビットのアプリケーションプールで実行します。

IISがそのアプリケーションプールに対して開始するワーカープロセスは32ビットプロセスであるため、CLRを読み込もうとすると、32ビットCLRが読み込まれ、アセンブリが32ビットモードで読み込まれます。これは、アセンブリが64ビットおよび32ビットモード用にコンパイルされている場合でも当てはまります。32ビットモードで実行されているアセンブリは、32ビットモードで実行されているOracleクライアントを呼び出すことができます。

于 2009-11-10T10:56:26.320 に答える