2

プロジェクト (バージョン 3.3.1) にすでに nhibernate があり、Nuget パッケージ マネージャーを介して fluentNhibernate をダウンロードしようとすると、次のエラーが発生します。

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 以上である必要があると書かれているので、なぜこれが成功しないのか理解できません。それから城と互換性がありません。

これについての説明はありますか、それとも fluentnhibernate をインストールするが、現在のバージョンで nhibernate を維持する回避策はありますか (それは問題ないと言っています)?

任意の提案をいただければ幸いです。

4

1 に答える 1

3

Fluent NHibernate の依存関係を満たす最新バージョンであるため、NH 3.3.2 にアップグレードしようとしています。3.3.2 よりも 3.3.1 を好む理由はありません。すでに持っているのは 3.1.0 で、これはずっと古いものです。

また、パッケージ NHibernate.Castle もインストールされていますが、これは 3.1.0.4000 のみに制限されています。

要約する:

  • FluentNHibernate 1.3.0.733 には、NHibernate 3.3.1 以降が必要です。
  • NHibernate.Castle 3.1.0 には NHibernate 3.1.0 が必要です。

NHibernate.Castle の新しいバージョンが利用できないため、これは解決できません。

NH 3.2 以降では、プロキシ生成が組み込まれているため、NHibernate.Castle (または類似のもの) は不要になりました。他の理由でこれが必要でない限り、そのパッケージを削除するだけでかまいません。

NuGet リファレンスの「許可されたバージョンへのアップグレードの制限」も参照してください。

于 2013-02-25T06:53:52.970 に答える