[英]Updating nuget package with and without prerelease flag in a C# project
[英]C# AssemblyVersion 3 digits for use with NuGet's PreRelease versioning
在AssemblyInfo.cs
:
[assembly: AssemblyVersion("1.0.*")]
將生成1.0.xx
四位數版本號。
哪個,如果我使用這個nuspec元數據:
<version>$version$-test</version>
包裝時會產生錯誤:
The version « 1.0.5431.31092-test » does not follow semantic version control instructions
有一個簡單的方法嗎?
不可能,程序集的版本存儲在System.Version類中,該類由Major,Minor,Build和Revision組成。
編輯:我有點急於回答。 當您將AssemblyVersionAttribute的構造函數與包含asterix的字符串一起使用時,將生成版本的所有四個屬性。 導致數字較少的版本的唯一方法是指定確切的版本號,不帶星號,即“1.0.1”。 請參閱: http : //msdn.microsoft.com/en-us/library/system.reflection.assemblyversionattribute.assemblyversionattribute(v = vs.110).aspx
如果您希望版本中的數字較少且生成的版本號較少,則可以使用外部工具在預構建步驟中更改版本號。
不需要進行后期處理, NuGet
使用[assembly: AssemblyInformationalVersion("")]
作為包版本,將其設置為您喜歡的任何數量的組件並完成它。
PS我強烈建議您也設置AssemblyVersion
因為這是.NET實際使用的,至少將其設置為自動增量
這里有一些閱讀
完整的例子
[assembly: AssemblyVersion("1.0.*")]
[assembly: AssemblyInformationalVersion("1.0")]
將生成一個包Lib.1.0.nupkg
包含裝配與1.0.xx版本,版本,你會處理的是1.0
無論何時想要更改nuget版本,只需更改AssemblyInformationalVersion
,而不是觸及AssemblyVersion
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.