NHibernate,NHibernate.Linq和FluentNHibernate?抛出错误

时间:2011-04-13 06:28:10

标签: linq nhibernate fluent-nhibernate

我在上一个问题上遇到以下错误:

Fluent NHibernate? Am I doing this correctly?

但是,现在,当我调用函数时:

LoginRepository login = new LoginRepository();
var allLogins = login.GetAllLogins().ToList();

它会抛出错误:

Could not load file or assembly 'NHibernate, Version=2.1.2.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.Linq。 FusionLog如下:

=== Pre-bind state information ===
LOG: User = Sean
LOG: DisplayName = NHibernate, Version=2.1.2.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4 (Fully-specified)
LOG: Appbase = file:///C:/Development/DefaultCollection/Sandboxes/Sean/NHibernateExample/NHibernateExample/
LOG: Initial PrivatePath = C:\Development\DefaultCollection\Sandboxes\Sean\NHibernateExample\NHibernateExample\bin
Calling assembly : NHibernate.Linq, Version=1.1.0.1001, Culture=neutral, PublicKeyToken=null.
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Development\DefaultCollection\Sandboxes\Sean\NHibernateExample\NHibernateExample\web.config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Post-policy reference: NHibernate, Version=2.1.2.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/d33a79ac/1e32c532/NHibernate.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/d33a79ac/1e32c532/NHibernate/NHibernate.DLL.
LOG: Attempting download of new URL file:///C:/Development/DefaultCollection/Sandboxes/Sean/NHibernateExample/NHibernateExample/bin/NHibernate.DLL.
WRN: Comparing the assembly name resulted in the mismatch: Major Version
ERR: Failed to complete setup of assembly (hr = 0x80131040). Probing terminated.

我使用NuGet来获取最新版本的NHibernate,NHibernate.Linq和FluentNHibernate。

有人能引导我朝正确的方向前进吗?

再次感谢!

1 个答案:

答案 0 :(得分:3)

你应该运行兼容包,你的NHibernate版本是2.1.2.4,这不是最新版本。

首先添加对NHibernate 3.0的引用,NHibernate.Linq是熟悉的AFAIK,因为它属于版本2,而在版本3.0中,Linq功能在NHibernate程序集本身