Azure Pipeline - 增加内部版本号并在 Web 应用程序中显示

Bra*_*ton 4 build azure-devops asp.net-core

我有以下简单的构建管道在 Azure DevOps 中工作,发布版本部署到暂存槽。

在此处输入图片说明

我想要一个构建修订/版本字符串,它是自动递增的。然后我想在我的网络应用程序中显示它,这样我就可以知道正在生产的软件版本。

目前我显示 .csproj 文件中的版本字符串。像这样的东西在

<Version>1.1.4.7</Version>
Run Code Online (Sandbox Code Playgroud)

然后使用以下代码显示在网页上:

Version: @typeof(Startup).Assembly.GetName().Version.ToString()
Run Code Online (Sandbox Code Playgroud)

如果我可以更新现有的版本字符串,那就太好了,但我愿意更改为最容易集成到 CI 过程中的任何内容。

Sha*_*zyk 6

.Net Core 世界中的版本控制已得到简化。

编辑您的 csproj 并进行如下修改:

<PropertyGroup>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' == '' ">1.0.0.0</Version>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' != '' ">$(BUILD_BUILDNUMBER)</Version>
</PropertyGroup>
Run Code Online (Sandbox Code Playgroud)

如果您的文件没有版本节点,请添加以上内容。

上述设置意味着本地调试将为您提供 1.0.0.0 版本,如果您在非 Azure DevOps 环境中构建,您最终也会得到 1.0.0.0 版本。$(BUILD_BUILDNUMBER) 是 Team Build 设置的环境变量,它将在构建时由 VSTS 或 TFS 更新。

.Net 版本需要采用 [major].[minor].[build].[revision] 格式,每个段都是 0 到 65000 之间的数字。您可以在选项选项卡中配置版本号格式,请参见此处有关格式的更多信息。有关配置构建的有用步骤,请参见此处

  • 这个博客帮助关闭了循环。内部版本号需要采用 0.0.0.0 格式。https://blog.siliconvalve.com/2018/02/07/easy-release-versioning-for-net-project-using-vsts-and-tfs/ 一旦我更改了程序集版本更新并显示在网。谢谢 (2认同)