89

最初の nuget パッケージを作成しています。最新バージョンではないバージョンの依存関係を追加しました。ただし、この依存関係の最新バージョンに更新したくありません。特定のバージョンを使用するように指示することは可能ですか?

<dependencies>
  <dependency id="NHibernate" version="3.2.0.3001" />
</dependencies>

パッケージをインストールすると、次のように表示されます。

Attempting to resolve dependency 'NHibernate (≥ 3.2.0.3001)'.

これにより、パッケージをインストールすると次のものが作成されます。

<packages>
  <package id="Iesi.Collections" version="3.2.0.4000" />
  <package id="NHibernate" version="3.2.0.4000" />
</packages>

私は本当にこのようなものを見たいと思っています: 依存関係 'NHibernate (3.2.0.3001)' を解決しようとしています。

4

4 に答える 4

137

ブラケットを使用して正確なバージョンを強制できるはずです。

<dependency id="NHibernate" version="[3.2.0.3001]" />

使用できる形式に関する完全な情報は、次の NuGet サイトにあります。

http://docs.nuget.org/docs/reference/version-range-specification

于 2011-10-15T10:49:13.920 に答える
2

ユーザー側からは、packages.configでallowedVersionsを指定して、アップグレードを制限することもできます。 http://docs.nuget.org/docs/reference/versioning#Constraining_Upgrades_To_Allowed_Versions

于 2011-12-23T13:03:13.023 に答える
2

http://nuget.codeplex.com/wikipage?title=Dependency%20Resolutionおよびその他のソースによると、下限を次のように指定するだけです

<dependencies>
  <dependency id="NHibernate" version="3.2.0.3001" />
</dependencies>

そのバージョンに一致する最低のメジャー/マイナー バージョンの最高のリビジョン/パッチ レベルになります。

私がドキュメントを完全に誤解していない限り、これは 3.2.* バージョンと一致しますが、3.2.* バージョンが見つからない限り、3.3.* 以降のバージョンとは一致しません。

3.2.0.3001 が依存したい唯一のバージョンである何らかの理由がある場合、たとえば、他のパッケージが NHibernate [3.2.0.3002 ,3.3) は、3.2.0.3002 以上で 3.3 未満であることを意味します。

于 2014-08-29T08:44:09.977 に答える