2010-11-29 57 views
3

在我的MVC項目中,我試圖使用最新的Fluent Nhibernate和NHibernate.linq。我正在使用最新的Fluent Nhibernate發佈版本附帶的Nhibernate.dll。但是,我只能找到NHibernate.linq 1.0。MVC項目抱怨無法找到Nhibernate.dll 2.1.0.4000版

當試圖運行我的錯誤:

Could not load file or assembly 'NHibernate, Version=2.1.0.4000, Culture=neutral, 
PublicKeyToken=aa95f207798dfdb4' or one of its dependencies. The located assembly's  
manifest definition does not match the assembly reference. (Exception from HRESULT: 
0x80131040) 

我在NHibernate的項目在SourceForge看到,他們有NHibernate的2.1.2項目下NHibernate.Linq 2.1.2版本,但如果你下載這個zip文件,它是空的。

我的想法是,Linq引用舊的NHibernate.dll,但我怎麼能得到NHibernate.linq.dll 2.1.2版本?

還有一個問題與此相同的錯誤,我嘗試了所有的建議,確保包括所有其他NHibernate.dll。我沒有重建與Fluent使用的NHibernate.dll相同的NHibernate.linq項目,因爲我希望獲得更新版本的NHibernate.linq。

回答

1

正如詹姆斯寫道,你應該下載2.1.2拉鍊帶的7-Zip解壓縮。版本號應爲1.1.0.1001。

但是...... NHibernate 3.0即將發佈。它包含一個集成的Linq提供程序,它更加完整,功能強大且可擴展。

我不會在一個新項目中使用舊的提供者(它不完全兼容新的提供者)。

0

嘗試將以下XML添加到<configuration>根標記中的Web/App.config文件中。

<runtime> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
     <dependentAssembly> 
     <assemblyIdentity name="NHibernate" publicKeyToken="AA95F207798DFDB4" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-2.1.1.4000" newVersion="2.1.2.4000" /> 
     </dependentAssembly> 
    </assemblyBinding> 
    </runtime> 
相關問題