價: Nuget Versioning SemVerNuget版本控制忽略內部編號SemVer的符號嗎?
的的NuGet版本文檔讀取:
SemVer還引入了一個版本號的概念對於那些每天或連續構建創建。公共NuGet.org圖庫不支持此功能。
它說,它不是在nuget.org畫廊支持,但我專門琢磨怎麼nuget.exe -update
或-install
或包控制檯VS處理它...
價: Nuget Versioning SemVerNuget版本控制忽略內部編號SemVer的符號嗎?
的的NuGet版本文檔讀取:
SemVer還引入了一個版本號的概念對於那些每天或連續構建創建。公共NuGet.org圖庫不支持此功能。
它說,它不是在nuget.org畫廊支持,但我專門琢磨怎麼nuget.exe -update
或-install
或包控制檯VS處理它...
在Nuget codebase看看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包裝過程中必須被旁路,我只能假設試圖推動它會有不可預知的結果。
感謝您的幫助! – diegohb 2013-05-06 13:23:45
如果您無法將軟件包打包或推送到版本中具有內部版本號的庫中,您會在'nuget.exe -update | install'中指定什麼? – 2013-05-02 22:02:18
就好像支持破折號「-beta」= pre-release ..例如,當我推入版本= 1.0.1-rc的nuget時,它將顯示爲預發佈版本,因此所有邏輯圍繞安全更新仍然發生。我希望能夠推出一個看起來像這樣的版本:1.0.1 + 421.500,我想知道這是否會工作?,崩潰nuget?,在+後忽略所有內容?將它視爲預發佈? – diegohb 2013-05-03 10:47:51
NuGet團隊正在致力於支持SemVer v2,但現在他們只支持SemVer v1。 VS 2015與NuGet v3一起發佈,但不幸的是,他們沒有設法將SemVer v2作爲v3發行版的一部分。 – Spiralis 2015-10-26 18:04:15