哪个版本的流利nhibernate与nhibernate 3.2兼容

时间:2011-07-04 14:28:26

标签: nhibernate fluent-nhibernate nuget

我看到当我从Nuget安装流畅的nhibernate 1.2时,它会下载nhibernate 3.1。如果我想使用nhibernate 3.2,我将如何通过nuget实现这一点并且它与流畅的nhibernate 1.2兼容?

3 个答案:

答案 0 :(得分:45)

如果您使用Nuget包管理器控制台而不是GUI来获取包(Install-Package FluentNHibernate),您将获得与NHibernate 3.2兼容的版本1.3.0.717 enter image description here

我试过了,对我来说工作正常。

答案 1 :(得分:5)

在这里,您可以阅读有关很快发布用于3.2GA的FluentNHibernate的计划以及使用属性的建议解决方法

http://groups.google.com/group/fluent-nhibernate/browse_thread/thread/8e782e45ed9ba647

我的工作是使用

<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
  <dependentAssembly>
    <assemblyIdentity name="NHibernate"
                      publicKeyToken="aa95f207798dfdb4"
                      culture="neutral" />
    <bindingRedirect oldVersion="3.1.0.4000"
                     newVersion="3.2.0.4000"/>
  </dependentAssembly>
</assemblyBinding>

答案 2 :(得分:4)

目前,来自官方NuGet包源的FluentNHibernate包依赖于NHibernate.Castle 3.1(目前还没有更新版本),而后者依赖于NHibernate 3.1(确切版本,而不是3.1或更高版本)。因此,NuGet在安装FluentNHibernate时会推断出对NHibernate 3.1的依赖。

所以底线是:你不能,直到更新FluentNHibernate包。

最实用的方法是获取最新的FluentNHibernate源代码并针对NHibernate 3.2进行构建。我测试了它,它似乎工作得很好。你甚至可以使用程序集绑定重定向,但我没有测试过。

或者,您可以等待NHibernate 3.2到达GA(最终)和FluentNHibernate以赶上,但当然这不是一个非常令人满意的答案。