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

leo*_*ora 14 nhibernate fluent-nhibernate nuget

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

Aja*_*dex 45

如果您使用Nuget包管理器控制台而不是GUI来获取包(Install-Package FluentNHibernate),您将获得与NHibernate 3.2兼容的版本1.3.0.717 在此输入图像描述

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

  • 很棒的答案.有谁知道为什么NuGet控制台的行为不同,并提供与GUI不同的结果? (3认同)

Val*_*zub 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>
Run Code Online (Sandbox Code Playgroud)


San*_*zen 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 迎头赶上,但这当然不是一个非常令人满意的答案。