サンプル集  >  other  >  Could not load file or assembly or one of its dependencies.
Could not load file or assembly or one of its dependencies.
2018/03/15

アプリを実行したところ以下のエラーが出ました。

Could not load file or assembly 'Oracle.DataAccess, Version=4.112.3.0, 
Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its depen
dencies. The system cannot find the file specified.

◆環境
OS Windows Server 2016 Datacenter 64bit
Oracle 12c 12.1.0.2.0 64bit
SQL*Plus 12.2.0.1.0

実行したアプリをタスクマネージャーで確認したところ32bitで動いていました。

Oracle.DataAccess.dllを探してみます。

C:\oracleのフォルダを検索したところ4つのフォルダ内にOracle.DataAccess.dllが見つかりました。

C:\oracle\product\12.2.0\client_1\ODP.NET\bin\4
C:\oracle\product\12.2.0\client_2\odp.net\bin\4
C:\oracle\product\12.2.0\client_1\ODP.NET\bin\2.x
C:\oracle\product\12.2.0\client_2\odp.net\bin\2.x

Path環境変数には以下の順で設定されていました。

C:\oracle\product\12.2.0\client_2;
C:\oracle\product\12.2.0\client_2\bin;
C:\oracle\product\12.2.0\client_1\bin;
C:\Windows\system32;
C:\Windows;
:
以下略

C:\oracle\product\12.2.0\client_2が最優先パスなので、その配下にあるOracle.DataAccess.dllのバージョンを確認します。

バージョンは、dllを右クリックしプロパティを表示し詳細タブを見たところそれっぽいものがありました。

バージョンが4.112.3.0より高いです。

手元にあったOracle.DataAccess.dllを確認したところ、バージョンが「4.112.3.0」でした。

このdllをexeと同じフォルダにコピーして再度実行したところ解決しました。

関連項目

アセンブリは、参照されているアセンブリよりも新しいバージョンを含むものを使用します。

▲ PageTop  ■ Home


Copyright (C) 2017 ymlib.com