私は最初の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)'を解決しようとしています。
括弧で正確なバージョンを強制することができるはずです:
<dependency id="NHibernate" version="[3.2.0.3001]" />
使用できる形式の詳細については、NuGetサイトをご覧ください。
http://docs.nuget.org/docs/reference/version-range-specification
NuGet docs site から、完全な表記法:
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未満を意味します。
ユーザー側から、packages.configでallowedVersionsを指定して、アップグレードを制限することもできます。 http://docs.nuget.org/docs/reference/versioning#Constraining_Upgrades_To_Allowed_Versions