サンプル集 |
■VC ■C# ■Java ■BorlandC ■LinuxC ■MS-DOS ■bash ■Excel VBA ■VBScript ■PHP ■HTML ■perl ■iPhone ■Android ■Lua ■other |
Linuxコマンド |
用語集 |
debian メモ |
apache2 メモ |
MySQL メモ |
Oracle メモ |
HOME |
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' を使用します。
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.
Copyright (C) 2018 ymlib.com