我正在使用最新的(截至今日).NET Core工具。在那裏,您指定版本<版本> MSBuild屬性。但是,與[assembly:AssemblyVersion]不同,這似乎不支持通配符。如何以同樣的方式自動進行版本增量?如何在最新的.NET Core工具中進行版本自動增量?
解釋爲什麼這是一個壞主意,而應該做什麼,而不是一個好的答案。
我正在使用最新的(截至今日).NET Core工具。在那裏,您指定版本<版本> MSBuild屬性。但是,與[assembly:AssemblyVersion]不同,這似乎不支持通配符。如何以同樣的方式自動進行版本增量?如何在最新的.NET Core工具中進行版本自動增量?
解釋爲什麼這是一個壞主意,而應該做什麼,而不是一個好的答案。
MSBuild中的版本屬性不支持像project.json那樣的星號(通配符)格式。
但是,使用MSBuild,您可以用其他方式計算版本。沒有一個正確的方法來做到這一點,但這是一種方法。我們使用「VersionPrefix」代替。 Microsoft.NET.Sdk也會自動結合VersionPrefix和VersionSuffix來形成「版本」的最終值。
在文件:
<PropertyGroup>
<VersionPrefix>2.0.0</VersionPrefix>
</PropertyGroup>
在構建服務器:
msbuild.exe /t:Pack /p:VersionSuffix=build0
// or, the dotnet.exe equivalent
dotnet pack --version-suffix build0
結果:
AssemblyVersion = 2.0.0.0
Package version = 2.0.0-build0
我們構建服務器上生成每次運行的內部版本號。
如果你想使用老式的AssemblyVersion星號形式,你可以在MSBuild中明確地設置<AssemblyVersion>
屬性。如果不是,則默認爲<Version>
的major.minor.patch值。
更多細節:
有在Microsoft.NET.Sdk半一打 「版本」 的設置。有關更多詳細信息,請參閱What is the difference between various MSBuild version properties, such as Version, VersionPrefix, and VersionSuffix?。