我正在使用最新的(截至今天).NET Core 工具。在那里,您可以在 MSBuild 属性中指定版本。但是,与 [ assembly:AssemblyVersion] 不同,这似乎不支持通配符。如何以同样的方式自动增加版本?
解释为什么这是一个坏主意,以及应该做什么也将是一个很好的答案。
MSBuild 中的 Version 属性不像 project.json 那样支持星号(通配符)格式。
但是,使用 MSBuild,您可以通过其他方式计算版本。没有一种正确的方法可以做到这一点,但这里有一种方法。我们使用“VersionPrefix”代替。 Microsoft.NET.Sdk还会自动组合VersionPrefix和VersionSuffix,形成“Version”的最终值。
In file:
<PropertyGroup>
<VersionPrefix>2.0.0</VersionPrefix>
</PropertyGroup>
在构建服务器上:
msbuild.exe /t:Pack /p:VersionSuffix=build00123
// or, the dotnet.exe equivalent
dotnet pack --version-suffix build00123
Result:
AssemblyVersion = 2.0.0.0
Package version = 2.0.0-build00123
我们的构建服务器在每次运行时都会生成构建号。
如果您想使用老式的 AssemblyVersion 星号形式,您可以显式设置<AssemblyVersion>
MSBuild 中的属性。如果不是,则默认为 Major.minor.patch 值<Version>
.
更多细节:
Microsoft.NET.Sdk 中有六种“版本”设置。看各种 MSBuild 版本属性(例如 Version、VersionPrefix 和 VersionSuffix)之间有什么区别? https://stackoverflow.com/questions/42183300/what-is-the-difference-between-various-msbuild-version-properties-such-as-versi/42183301#42183301更多细节。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)