いくつかのコンテキスト:
依存関係のある4つのnugetパッケージがあります。それらはすべてプレリリースモードであり、独自のペースでアルファから「安定」に進化します。依存関係の定義でプレリリースを含めるように指定できるようにしたいのですが、「安定した」バージョンが利用可能になると、安定したバージョンに更新する必要があります。
NuGet Docs では、バージョン管理のルールは、指定したバージョン番号を含めるために[
と]
を定義し、除外するために(
と)
を定義しています。指定したバージョン番号。
Nuspecファイルのバージョンの影響に関するいくつかの例:
<dependencies>
<dependency id="MyComponent" version="1.2.0" />
</dependencies>
==>これにより、MyComponent1.2.0以降がインストールされます。 (プレリリース1.2.0-alphaは含まれません)
<dependencies>
<dependency id="MyComponent" version="[1.2.0" />
</dependencies>
==>これにより、MyComponent1.2.0以降がインストールされます。 (プレリリース1.2.0-alphaは含まれません)
<dependencies>
<dependency id="MyComponent" version="[1.2.0,2)" />
</dependencies>
==>これにより、バージョン2.0.0までMyComponent1.2.0がインストールされます。 (プレリリース1.2.0-alphaは含まれませんが、プレリリース2.0.0-alphaは含まれます)
現在私が設定したもの:
<dependencies>
<dependency id="MyComponent" version="(1.1.32767" />
</dependencies>
しかし、これは非常に醜い方法であり、実際には現実を反映していません。 (バージョン1.1.32767.1が存在する場合はどうなりますか?)
プレリリースバージョンを最小バージョンに含めることを指定する方法を知りたいですか?
注意すべき重要なことが1つあります。
プレリリースに依存すると、作成されたパッケージ自体もプレリリースになります。
依存関係のバージョン範囲を定義するときに、デフォルトでプレリリースが無視されるのは理にかなっています。これは、生成されるパッケージのバージョンを変更するためです(どのバージョンを選択するかがわからない場合)。
理想的には、インストール中に依存関係のバージョン範囲をチェックするアルゴリズムは、消費されたパッケージがプレリリースであるかどうかのチェックを実行し、許可されたバージョン範囲内のプレリリース依存関係を含めるか除外します。
これが現在当てはまるかどうかはわかりませんが、あなたの質問を見るとそうではないと思います。 http://nuget.codeplex.com で機能リクエストをログに記録する(またはプルリクエストを送信する)ことをお勧めします