1

だから私はそのような問題を抱えています。Entiti Framework 5 モデル、Oracle データベース、クライアント バージョン 11.2 の Windows アプリがあります。私のマシンは Windows 8 Pro 64 ビット、Visual Studio 2012 です。そのアプリはサーバーでまったく問題なく実行されます。ただし、ローカル マシンで実行すると、次のような例外が発生します。

Type initializer "Oracle.DataAccess.Client.OracleClientFactory" thrown an exception. ---> 
Oracle.DataAccess.Client.OracleException: The provider is not compatible with the version of Oracle client

ここで答えをグーグルで検索し、すべてのdllをexeファイルがあるフォルダーにコピーしました。運がない。ローカルとサーバーの両方に同じ ODAC があります。どちらのマシンも 64 ビットです。新鮮なアイデアは役に立ちます。前もって感謝します!

4

1 に答える 1

0

Visual Studio を使用してデバッグする場合、iis Express はデフォルトで 32 ビットを標準として使用します。2 つの方法でこの問題を解決できます。

  1. 32 ビット ODAC をインストールし ます https://www.oracle.com/technetwork/topics/dotnet/utilsoft-086879.html
  2. enale iis express の設定を 64 ビット バージョンにします: vs2017 の場合、ツール=>オプション=>プロジェクトとソリューション => Web プロジェクト => 64 ビット バージョンを使用します。
于 2019-01-02T02:29:57.467 に答える