我看到当我从Nuget安装流畅的nhibernate 1.2时,它会下载nhibernate 3.1。如果我想使用nhibernate 3.2,我将如何通过nuget实现这一点并且它与流畅的nhibernate 1.2兼容?
答案 0 :(得分:45)
如果您使用Nuget包管理器控制台而不是GUI来获取包(Install-Package FluentNHibernate),您将获得与NHibernate 3.2兼容的版本1.3.0.717
我试过了,对我来说工作正常。
答案 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以赶上,但当然这不是一个非常令人满意的答案。