サンプル集  >  C#  >  アセンブリは、参照されているアセンブリよりも新しいバージョンを含むものを使用します。
アセンブリは、参照されているアセンブリよりも新しいバージョンを含むものを使用します。
2018/05/24

C#のビルド時に「アセンブリは、参照されているアセンブリよりも新しいバージョンを含むものを使用します。」というエラーが出ました。

アセンブリ 'Common, Version=3.1.0.1, Culture=neutral, PublicKeyToken=nu
ll' は、参照されているアセンブリ 'Oracle.DataAccess, Version=2.112.2.
0, Culture=neutral, PublicKeyToken=89b123f456c78990' よりも新しいバー
ジョンを含む 'Oracle.DataAccess, Version=4.112.3.0, Culture=neural, P
ublicKeyToken=12b345f678c90123' を使用します。



◆環境
OS Windows 7 Professional Service Pack 1
C# 01018-587-4054026-70884

エラーメッセージには「アセンブリ 'Common, 〜」と記載がありますが、右のプロジェクト欄には CommonDb と表示されています。

CommonDbプロジェクトの参照設定を確認します。


Oracle.DataAccessのバージョンは 2.112.2.0 が指定されています。

パスには C:\oraclexe\〜 が指定されています。

他のプロジェクトの参照設定を確認してみます。


Oracle.DataAccessのバージョンは 4.113.2.0 が指定されています。

パスには C:\subversion\〜 が指定されています。

エラーが出ている CommonDbプロジェクトの参照設定に設定されているOracle.DataAccessを削除し、再度「参照設定の追加」でC:\subversion〜のOracle.DataAccess.dllを追加したところ正常にビルドできるようになりました。

調べている途中で C:\Windows\assembly を確認するという情報を見かけました。 内容を見てみると以下のようになっていました。


Oracle.DataAccessのバージョンは 2.112.2.0 と 2.112.3.0 が表示されました。

この assemblyフォルダは グローバル アセンブリ キャッシュ (GAC) で使っているもののようです。

ビルドでは直接dllをフルパスで指定したいましたが、実行時にはこれらが絡むかもしれません。

関連項目

Could not load file or assembly or one of its dependencies.

▲ PageTop  ■ Home


Copyright (C) 2018 ymlib.com