2012-03-30 14 views
4

複数のバージョンツリーでNuGetを使用する正しい/受け入れられる方法は何ですか?私たちは2.12バージョンの製品を保有しており、継続的に作業しており、メジャー番号2に属する新しいバージョンを生成しています。同時に、3.5も他のフィーチャセットとスキーマで積極的に取り組んでいます。同じNuGetパッケージIDを使用すると、ユーザーはデフォルトで常に3.5バージョンを取得します。NuGetバージョンツリー

メジャープロジェクトバージョンごとに異なるパッケージIDを作成するだけでいいですか?

答えて

5

状況に応じて2つの解決策があります。異なるパッケージIDを使用するか、packages.configファイルを手作業で編集して特定のバージョン範囲を使用するようにクライアントを制限することができます。あなたがversion constraintを設定することができますpackages.configで

<packages> 
    <package id="SomePackage" version="2.1.0" allowedVersions="[2,3)" /> 
</packages> 

これは、クライアントが最新の2.xバージョンをプレゼント、しかし3.xバージョンにアップグレードすることはありません。

1

このページ:http://nuget.codeplex.com/wikipage?title=Pre-Release%20Packagesここをクリックしてください。簡単に言えば、2.12とタグ付けされたパッケージは、安定したものとして分類されますが、例えば、。 3.5betaはプレリリース版としてカウントされ、–Prereleaseフラグを使用してのみインストールできます。

+0

ありがとうございます。これは、上位バージョンがベータ版であるのに役立ちますが、メジャーバージョン2と3の両方が稼動している状況、異なるフィーチャセットとdbスキーマを持ち、独自に進化している状況があります。一つの答えは、それはベストプラクティスではないが、それは私がいる状況だ。 –