我有一个 .NET 8 Web 应用程序,可以向用户显示产品的版本。 在 csproj 文件中,我有以下设置:
<PropertyGroup>
<VersionPrefix>1.0.0.1</VersionPrefix>
</PropertyGroup>
而不是手动更新构建值 1.0.0.[1]有时我希望这个值能够随着当前构建的变更集自动更新。 这可以在签入代码或发布/构建时完成。两者都适合我。
例如,如果我发布了变更集 1423,我希望版本为 1.0.0.1423。
我看过几篇文章,但他们都提到获取最新的 TFS 变更集而不是当前的构建变更集,如果我要发布旧版本,这会产生问题。
我不确定这是否可能,但我很乐意听取建议。
Build.SourceVersion
”来获取当前构建正在运行的变更集。
对于您的情况,您可以设置管道变量 '
VerPrefix
' 并将其值设置为 '1.0.0.$(Build.SourceVersion)
'。
在评估管道变量 '
VerPrefix
' 时,表达式 '$(Build.SourceVersion)
' 将被解析为实际变更集。例如,当变更集为 '77
' 时,'VerPrefix
' 的值将被评估为 '1.0.0.77
'。
在管道中,您可以使用 .NET Core 任务为您的 dotnet build
dotnet publish
' 或 '.csproj
' 命令.NET 8 Web 应用程序,并将参数“-p:VersionPrefix=$(VerPrefix)
”添加到命令中。在构建 Web 应用程序时,此参数将使用 'VerPrefix
' 的值覆盖原始值 '1.0.0.1
'。