あなたが言ったように、それはただの警告です。 ODP.netは「AnyCPU」ではないため、警告は、独自のアプリケーションのようにホストオペレーティングシステムに適応しない依存関係があることを示します。 odp.netのインストールがビットの点でOSと一致している限り、問題はありません。しかし、コンパイラーはその決定を下すことができず、あなたに注意を向けようとしています。
接続の記事 を見つけました エラーを無効にするための可能な変更(私はprojファイルを想定しています)を含むこれについて:
<PropertyGroup>
<ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>None</ResolveAssemblyWarnOrErrorOnTargetArchitectureMismatch>
</PropertyGroup>
いずれの場合も、サーバーにインストールする32ビットodp.netが参照した64ビットodp.netと同じバージョンである(またはパブリッシャーポリシーが適切にインストールされている)限り、「AnyCPU」アプリケーションはサーバー上で正常に実行されます。それ以降のバージョンにリダイレクトします)。混乱を避けるために、私は通常、「false」への参照として「CopyLocal」を設定します。言い換えれば、私はdllの特定のバージョンに対してコンパイルしますが、GACから解決されるもの(ほとんどのodp.netインストールに含まれるパブリッシャーポリシーを含む)に対して実行させます。
32ビットアプリケーションを実行/デバッグしたり、Visual内の「OracleDeveloper Tools for Visual Studio」に付属する統合ツールを使用したりするために、開発マシンに32ビットodp.netをインストールすることもできます(理想的には同じバージョン)。スタジオ。
とはいえ、ここには目に見える以上のものがあります。アプリケーションが実際に実行されている場合(これは「警告にすぎない」ことを意味します)、32ビットインストールを使用していない場合よりも64ビットとして実行されます。お使いのマシンにはすでに64ビットバージョンがインストールされていると思います(複数のOracleホーム)。