如何在 Azure Pipelines 中为 C# 应用程序自动设置应用程序版本和其他此类常量?

问题描述

解决方案中每个项目的 AssemblyInfo.cs 中,我有这个:

[assembly: Assembly@R_208_4045@ionalVersion(AssemblySettings.ApplicationVersion)]

该常量在以下项目之一的 AssemblySettings.cs 中定义:

public const string ApplicationVersion =
"2.21.01.01"
;

我的问题是,有没有办法在构建管道中自动设置这个常量(和其他),这样我就不必在每次构建之前手动设置它?

这个特定常量的格式如下:V.YY.MM.vv 其中 V 是主要应用程序版本,YY 是年份的最后 2 位数字,MM 是月份,vv 是发布的序号月份(例如 01 表示该月的第一个版本)。

其他常量只是数字的字符串表示,每次发布时都会加一。

解决方法

您可能在获取格式时遇到问题,因为您的最后一部分不可用。但是您可以检查 Configure run or build numbers

urls = [
  'https://www.sample.com/search/category-mobile/','https://www.sample.com/search/category-tablet-ebook-reader','https://www.sample.com/search/category-laptop/','https://www.sample.com/search/category-computer-parts/','https://www.sample.com/search/category-office-machines/'
]

我把 name: 2.$(Year:yy).$(Date:MM).$(Rev:.r) steps: - script: echo '$(Build.BuildNumber)' 放在最后,但这不是你想要的。您可以使用变量组并将变量保留在那里,每次运行都会增加该变量,当您检测到新的月份开始时,然后重置此变量。

您可以使用$(Rev:.r)。文档 here。为此,您还需要 Azure Cli 任务。

但是,如果您决定这样做,那么您需要自己创建变量(不是通过我的第一个示例)。

拥有后 - 您可以使用 Assembly Info extension