我使用NuGet安装FluentNHibernate后遇到了一些问题,和其他用户发表的帖子中提到的问题类似:
错误
Could not load file or assembly 'NHibernate, Version=3.0.0.2001, 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)
我看到在StackOverflow答案和其他博客上的答案是:
我看到在StackOverflow答案和其他博客上的答案是:
Add-BindingRedirect
然而,这并没有解决我的问题,运行该命令的所有结果如下:
PM> Add-BindingRedirect
Name OldVersion NewVersion
---- ---------- ----------
NHibernate 0.0.0.0-3.0.0.4000 3.0.0.4000
当我从NuGet安装Fluent Nhibernate时,它说它的依赖关系是Nhibernate 3.0.0.2001,但它安装了Nhibernate 3.0.0.4000。我做错了什么?
更新:我看到它在节点中添加了以下部分:
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.4000" newVersion="3.0.0.4000" />
</dependentAssembly>
然而,我仍然得到相同的错误。这看起来不太对劲。如果Fluent想要3.0.0.2001版本,而安装的NHibernate是3.0.0.4000版本,那么这个绑定重定向对我来说似乎不正确。
尽可能具体地说,我只是使用NuGet在我的Web项目和一个用于测试的C#库项目中安装了Fluent Nhibernate。然后使用NUnit运行测试,但仍然出现此错误。