我有一個項目需要使用Mysql連接器進行NHibernate(Mysql.Data.dll)。我也想在同一個項目中引用另一個項目(Migrator.NET)。問題是,即使Migrator.NET是使用特定版本= false引用MySql.Data來構建的,它仍會嘗試引用該庫所構建的舊版MySql.Data,而不是僅使用那裏的版本..和我得到的標題所列的例外:兩個不同的程序集版本「找到的程序集清單定義與程序集引用不匹配」
----> System.IO.FileLoadException:無法加載文件或程序 「MySql.Data,版本= 1.0.10.1, 文化=中性, PublicKeyToken = c5687fc88969c44d'或 其依賴關係之一。位於 程序集清單定義 與程序集引用不匹配。 (來自HRESULT的例外:0x80131040)
我在主程序集中引用的版本是6.1.3.0。我如何獲得兩個組件的合作?
編輯:
對於那些你指定的程序集綁定重定向,我已經設置爲:
<?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中的設置,或者是否必須將這些信息包含在引用我主程序集的每個應用程序或程序集中?
這是我最後的手段,但一半預計我不得不自己建造它。 – snicker 2010-02-17 20:34:45
這就是我所要做的。無法使程序集綁定重定向生效。穿過我的手指。 – snicker 2010-02-17 20:56:23
我想我從來沒有跟進..我這樣做,它一直工作正常。 – snicker 2010-03-11 18:34:48