0

参照: Nugetバージョン管理 SemVer

nugetのバージョン管理ドキュメントには次のように書かれています。

SemVerは、毎日または継続的なビルドを作成する人のためのビルド番号の概念も紹介しています。これは、パブリックNuGet.orgギャラリーではサポートされていません。

nuget.orgギャラリーではサポートされていないと表示されますが、VSのパッケージコンソールがどのように処理するのか、nuget.exe -update具体的には疑問に思っています...-install

4

1 に答える 1

3

Nugetコードベースを見てSemanticVersion.csください。これにより、提供されたバージョンを検証するための次の正規表現が提供されます。正規表現が一致しない場合、バージョンは無効です。

new Regex(@"^(?<Version>\d+(\s*\.\s*\d+){0,3})(?<Release>-[a-z][0-9a-z-]*)?$", 
            RegexOptions.Compiled 
          | RegexOptions.IgnoreCase 
          | RegexOptions.ExplicitCapture);

プレリリース文字列の形式は、厳密にはダッシュ、文字、ダッシュと英数字の任意の組み合わせで始まる必要があります。いいえ+または.許可されています。

pack有効なバージョン以外のものを試してみると、次のようになります。

Attempting to build package from 'ConsoleApplication1.csproj.nuspec'.
'1.0.1+421.500' is not a valid version string. 
Parameter name: version

どういうわけか無効なバージョンのパッケージを入手した場合は、nugetパッケージングプロセスがバイパスされている必要があり、プッシュしようとすると予測できない結果になると推測できます。

于 2013-05-03T17:53:15.047 に答える