FluentNHibernate和NuGet,NH版本的问题

时间:2011-01-23 14:11:33

标签: fluent-nhibernate nuget

我刚刚更新了我的项目以使用NuGet进行外部引用。我添加了对NHibernate的引用,它添加了NH的所有其他依赖项。比我添加了FluentNHibernate。为NH和Fluent下载的NH版本不匹配。 NuGet显示FNH的版本为1.1.1.694,依赖于NH版本3.0.0.0.2001,而NH显示为版本3.0.0.4000。

当我运行应用程序时,我收到此消息:

  

无法加载文件或程序集'NHibernate,Version = 3.0.0.2001,Culture = neutral,PublicKeyToken = aa95f207798dfdb4'或其依赖项之一。定位的程序集的清单定义与程序集引用不匹配。 (HRESULT异常:0x80131040)

我也尝试从FNH网站下载,但是这表明FNH上的版本是1.1.0.685,这取决于2.1.2.4000。

你可以修复NuGet,还是应该在config中使用BindingRedirect?

1 个答案:

答案 0 :(得分:18)

你很幸运! NuGet只有​​这个场景的命令(我们计划将来更加自动http://blog.davidebbo.com/2011/01/nuget-versioning-part-3-unification-via.html)。首先构建项目,然后从包管理器控制台输入:

PM> Add-BindingRedirect

它会将最小的绑定重定向集添加到配置中以使一切正常运行。