Tfs VNext版本中的修订号未正确更新

Tfs VNext版本中的修订号未正确更新,tfs,build-definition,vnext,Tfs,Build Definition,Vnext,使用TFS2017中的门控/CI生成定义(vNext),修订号没有正确增加。每个版本都有相同的版本号,即使更改已正确签入 在构建过程开始时,我通过powershell从$Env:BUILD\u BUILDNUMBER获取修订号,它始终返回相同的编号。确保您在构建号格式设置中使用$(修订:.r)标记 使用$(修订版:.r)确保每个完成的生成都有一个唯一的名称。 生成完成后,如果生成编号中没有其他内容,则 更改后,Rev整数值增加1 如果要在数字中显示前缀零,可以添加其他前缀 “r”字符。例如,如

使用TFS2017中的门控/CI生成定义(vNext),修订号没有正确增加。每个版本都有相同的版本号,即使更改已正确签入


在构建过程开始时,我通过powershell从$Env:BUILD\u BUILDNUMBER获取修订号,它始终返回相同的编号。

确保您在
构建号格式设置中使用
$(修订:.r)
标记

使用$(修订版:.r)确保每个完成的生成都有一个唯一的名称。 生成完成后,如果生成编号中没有其他内容,则 更改后,Rev整数值增加1

如果要在数字中显示前缀零,可以添加其他前缀 “r”字符。例如,如果需要修订,请指定$(修订:.rr) 编号以01、02等开头

还要确保生成编号未使用永久编号或字符串更新。(有可能更新了版本号)


更新1:

请注意,如果主要版本号以
版本号格式更改,则修订号不会更改只有当主要部分未更改时,修订号才会增加。

顺便说一句,令牌
$(rev:.rr)
应该作为变量使用,因此在您的场景中,构建编号格式应该类似于:
testdev CI\u rev.$(rev:.rr)


更新2:

在您的场景中,您每次都使用程序集信息更新生成编号。因此,如果装配信息每次都不同,则修订号不会更改,这是预期的行为


您的意思是生产编号始终相同吗?您如何在构建定义中设置
构建编号格式
?我的构建编号格式是:
Test DEV CI_Rev.(Rev:.rr)
,但我通过测试1.8.0.8 DEV CI.01更新了构建编号。我创建了一个类似“Test Ver DEV CI.Rev”的变量,其中“Ver”替换为AssemblyInfo,“Rev”替换为修订编号。阅读上述信息,只有在“版本号格式”未更改的情况下,版本才会更改,对吗?@Felipe是的,如果主要版本号更改为
版本号格式
,则版本号不会更改。仅当主要零件未更改时,修订号才会增加。顺便说一句,应该使用$(rev:.rr)作为变量,因此版本号格式应该类似于:
testdev CI_rev.$(rev:.rr)
,在您的场景中。@Felipe请查看更新的答案,尤其是粗体字。很抱歉,我已经有$(rev:.rr)。但是“主要部分”是什么意思,因为你可以放任何你想要的东西。@Felipe“主要部分”是指主要版本号,例如,假设最终版本号是
2018Test.1
,那么我提到的主要部分应该是
2018Test
。使用令牌
$(rev:.r)
时,如果下次未更改内部版本号
2018Test
,则下一个最终内部版本号应为
2018Test.2
。但是如果版本号
2018Test
发生更改,例如更改为
2018Test-v
,则版本号将不再更改,最终版本号可能
2018Test-v.1