2017-03-20 6 views
0

nugetが可能にプレリリースバージョンの修飾子NuGetプレリリースの制限

は、たとえば、私は、バージョン1.0.0に取り組んでいますし、

  • -beta
  • -rc
  • -beta2
のようなプレリリース修飾子を追加することができます

ただし、私はそれが

を失敗し

-nightly20170320191800 

のようなものを設定してみてくださいだから私の質問は、このプレリリース文字列

答えて

0

は、まあ、私はそれを考え出した:

を私は死ぬnuget 3.3.0を使用していたwithou意味のあるメッセージ(Version string invalid

nuget 3.5.0 tをThe special version part cannot exceed 20 characters.

で死に、この制限は、(https://github.com/NuGet/Home/issues/2735

今はnuget 4.0.0を使用して、期待どおりに動作し除去しました。

だから正しい答えは次のようになります

プレリリースバージョンはハイフンを付加することにより表されてもよく、ドット分離識別子一連の直後SemVer仕様2.0(http://semver.org/

からパッチのバージョン。識別子はASCII英数字とハイフン[0-9A-Za-z-]のみで構成されなければなりません。識別子は空であってはいけません。数値識別子には先行ゼロを含めてはならない(MUST NOT)。プレリリースバージョンは、関連する通常バージョンよりも優先順位が低くなります。プレリリースバージョンは、バージョンが不安定であり、関連する通常バージョンで示される意図された互換性要件を満たしていない可能性があることを示します。例:1.0.0-alpha、1.0.0-alpha1,1.0.0-0.3.7,1.0.0-x7.z.92。

いくつかの過去のナゲットバージョン(最大3.5.0)は、追加の長さ制限を追加しました。バージョン4.0.0は、この点で仕様で定義されているように動作します。

1

上の具体的な制限は何ですかれるMSDNドキュメントからここでそれを参照してください。https://docs.microsoft.com/en-us/nuget/create-packages/prerelease-packagesも、この記事でSO:How to publish nuget prerelease version package

+0

ありがとう、私はすでにそれらのリンクを発見しました。しかし、彼らはプレリリースストリングの具体的な制限を指摘していません。 SemVerの仕様では、「文字列は英数字とダッシュ[0-9A-Za-z-]のみで構成されていなければなりません。だから私の "-nightly20170320191800"は有効なはずですが、そうではありません。 – Christoph