Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core Azure管道-在web应用程序中增加构建编号和显示_Asp.net Core_Build_Azure Devops - Fatal编程技术网

Asp.net core Azure管道-在web应用程序中增加构建编号和显示

Asp.net core Azure管道-在web应用程序中增加构建编号和显示,asp.net-core,build,azure-devops,Asp.net Core,Build,Azure Devops,我有以下简单的构建管道在Azure DevOps中工作,其版本部署到一个临时槽中 我希望有一个自动递增的内部版本/版本字符串。然后我想在我的web应用程序中显示它,这样我就可以知道该软件的哪个版本正在生产中 目前,我显示.csproj文件中的版本字符串。像这样的东西 <Version>1.1.4.7</Version> 如果我可以更新现有的版本字符串,那就太好了,但我愿意更改到最容易集成到CI过程中的任何版本 您应该使用Azure DevOps Pipelines发行

我有以下简单的构建管道在Azure DevOps中工作,其版本部署到一个临时槽中

我希望有一个自动递增的内部版本/版本字符串。然后我想在我的web应用程序中显示它,这样我就可以知道该软件的哪个版本正在生产中

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

<Version>1.1.4.7</Version>

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

您应该使用Azure DevOps Pipelines发行版(又称Azure Pipelines发行版)而不是Azure DevOps Pipelines build(又称Azure Pipelines build)。默认情况下,Azure Pipelines发行版将自动增加您的发行版

默认情况下,Azure Pipelines build没有自动版本编号。因为在发布阶段应该增加版本,因为构建应该只关注持续集成,而不是用于对要发布的构建进行版本控制

这是Azure Pipelines发行版在自动增量您的发行版上的官方文档:
在.Net核心世界中,版本控制已经简化

编辑您的csproj并按如下方式修改它:

<PropertyGroup>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' == '' ">1.0.0.0</Version>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' != '' ">$(BUILD_BUILDNUMBER)</Version>
</PropertyGroup>

1.0.0.0
$(BUILD\u BUILDNUMBER)
如果您的文件没有版本节点,请添加以上内容

上述设置将意味着本地调试将为您提供1.0.0.0版本,在这种情况下,您在非Azure DevOps环境中构建,最终也将获得1.0.0.0版本$(BUILD_BUILDNUMBER)是由Team BUILD设置的环境变量,将在生成时由VST或TFS更新


.Net版本的格式必须为[major].[minor].[build].[revision],每个段都是一个介于0和65000之间的数字。您可以在“选项”选项卡中配置内部版本号格式,请参阅有关格式的更多信息。有关配置版本的有用步骤,请参阅。

好的,但如何在web应用程序中访问该版本名称,以便在页面上显示它?最快的方法是使用生成的版本的徽标,或者,您可以简单地检查应用程序的可执行文件或DLL版本。添加这些行时,我从生成管道中得到以下错误:错误CS7034:指定的版本字符串不符合所需格式-major[.minor[.Build[.revision]]]默认值$(date:yyyyymmdd)$(rev:.r)此博客帮助关闭了循环。内部版本号需要采用0.0.0.0格式。一旦我更改了,程序集版本就会更新,并显示在web上。谢谢
<PropertyGroup>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' == '' ">1.0.0.0</Version>
  <Version Condition=" '$(BUILD_BUILDNUMBER)' != '' ">$(BUILD_BUILDNUMBER)</Version>
</PropertyGroup>