私が取り組んでいるプロジェクトでは、NHibernate 用の Mysql コネクタ (Mysql.Data.dll) を使用する必要があります。同じプロジェクト内の別のプロジェクト (Migrator.NET) も参照したいと考えています。問題は、Migrator.NET が特定のバージョン = false の MySql.Data への参照を使用してビルドされているにもかかわらず、そこにあるバージョンを使用するだけでなく、ライブラリがビルドされた MySql.Data の古いバージョンを参照しようとすることです。 ..そして、タイトルにリストされている例外を取得します:
----> System.IO.FileLoadException : ファイルまたはアセンブリ 'MySql.Data, Version=1.0.10.1, Culture=neutral, PublicKeyToken=c5687fc88969c44d' またはその依存関係の 1 つを読み込めませんでした。見つかったアセンブリのマニフェスト定義がアセンブリ参照と一致しません。(HRESULT からの例外: 0x80131040)
メイン アセンブリで参照しているバージョンは 6.1.3.0 です。2 つのアセンブリを連携させるにはどうすればよいですか?
編集:
アセンブリ バインディング リダイレクトを指定している方のために、次のように設定しました。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral"/>
<bindingRedirect oldVersion="0.0.0.0-6.1.3.0" newVersion="6.1.3.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
これを別のプロジェクトのメイン アセンブリで参照していますが、それでも同じエラーが発生します。メイン アセンブリをローカルにコピーして他のアセンブリで使用する場合、app.config の設定を使用しますか?それとも、メイン アセンブリを参照するすべてのアプリケーションまたはアセンブリにこの情報を含める必要がありますか?