注意我关闭了本地化的其他故障单。
所以我遇到了一个问题,就像我看到其他海报在使用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
我做错了什么?
答案 0 :(得分:5)
我无法评论NuGet的具体问题,但您应该能够通过将程序集绑定重定向添加到app.config或web.config来解决错误。
您可能需要检查公钥是否正确。
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Nhibernate" publicKeyToken="aa95f207798dfdb4"/>
<bindingRedirect oldVersion="3.0.0.2001" newVersion="3.0.0.4000"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
那应该将2001年的所有请求重定向到4000
答案 1 :(得分:4)
我不知道你有多少网络项目,哪个是你的开始项目设置,是基本的,但我的测试方法遇到了同样的问题,我发现我的测试项目的app.config没有'有绑定重定向。
在我的例子中,Add-BindingRedirect命令生成类似这样的内容
<dependentAssembly>
<assemblyIdentity name="NHibernate" publicKeyToken="aa95f207798dfdb4" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.4000" newVersion="3.0.0.4000" />
</dependentAssembly>
这解决了我的问题,我希望这会有所帮助。