所以我遇到了一个问题,就像我在使用 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 的答案和其他博客上看到答案是:
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 运行测试,它继续给我这个错误。