首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么当我安装fluentNhibernate时,nuget会尝试强制和依赖升级?

为什么当我安装fluentNhibernate时,nuget会尝试强制和依赖升级?
EN

Stack Overflow用户
提问于 2013-02-24 05:43:48
回答 1查看 1.3K关注 0票数 2

我已经在一个项目(版本3.3.1)中安装了nhibernate,现在我正尝试通过Nuget包管理器下载fluentNhibernate,我得到了这个错误:

代码语言:javascript
复制
PM> install-package fluentnhibernate -Version 1.3.0.733
Attempting to resolve dependency 'NHibernate (≥ 3.3.1.4000)'.
Attempting to resolve dependency 'Iesi.Collections (≥ 3.2 && < 4.0)'.
Successfully installed 'Iesi.Collections 3.2.0.4000'.
Successfully installed 'NHibernate 3.3.2.4000'.
Successfully installed 'FluentNHibernate 1.3.0.733'.
Install failed. Rolling back...
install-package : Updating 'NHibernate 3.1.0.4000' to 'NHibernate 3.3.2.4000' failed.     
Unable to find a version of 'NHibernate.Castle' that is compatible with 'NHibernate 
3.3.2.4000'.

At line:1 char:1
+ install-package fluentnhibernate -Version 1.3.0.733
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand

我不明白为什么这不成功,因为它说nhibernate只需要3.3.1或更高版本,那么为什么它试图强制升级到3.3.2 (我想让它保持在3.3.1),这样就不能与castle兼容。

对此有什么解释吗?或者有什么解决办法可以安装fluentnhibernate,但将nhibernate保持在当前版本(它说这很好)?

如有任何建议,我们将不胜感激。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-25 14:53:53

它正在尝试升级到NH3.3.2,因为这是满足Fluent NHibernate依赖性的最新版本。我认为没有理由更喜欢3.3.1而不是3.3.2。你已经拥有的版本是3.1.0,这个版本要老得多。

您还安装了NHibernate.Castle包,该包仅限于3.1.0.4000。

总结一下:

  • FluentNHibernate 1.3.0.733需要NHibernate 3.3.1或later.
  • NHibernate.Castle 3.1.0需要NHibernate 3.1.0。

由于没有更高版本的NHibernate.Castle可用,因此无法解决此问题。

从NH3.2开始,您不再需要NHibernate.Castle (或类似的),因为代理生成现在是内置的。除非您出于其他原因需要此包,否则可以直接删除该包。

另请参见《NuGet参考》中的Constraining Upgrades To Allowed Versions

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15046085

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档