我在我的内部版本号中使用$(Rev:.r)。
MAJOR.MINOR $(启:.R)
这在每个构建中都是完美的并且递增,并且如果主要版本或次要版本被更改,则会重置。
但编号从1开始而不是0.所以第一个版本不是1.0.0而是1.0.1,这不是我想要的。
那么有没有办法让版本从0开始?
感谢您的帮助...
P.S。不幸的是,在这个项目中不可能使用Git和GitVersion。
答案 0 :(得分:3)
不,这无法实现。
什么是Rev?
使用$(Rev:.rr)确保每个已完成的构建都具有唯一名称。 构建完成后,如果构建号中没有其他内容 更改后,Rev整数值加1。
来源链接:Build number format
此外,无论何时在TFS版本中更改内部版本号,版本都会重置为1 。它'默认情况下,您无法更改此值。因为如果你能够从0开始设置值,那么它也应该能够从100开始设置它。这会弄乱构建号。
答案 1 :(得分:0)
作为重置修订版号的解决方法,您可以创建现有构建定义的克隆,并使用最近创建的定义启动新构建。这将从修订版#1开始新的构建。
以下是如何克隆构建定义,单击构建定义页面下定义标题旁边的3个点。请参阅下面的屏幕截图;
Click here to view screenshot - clone a definition
与1.0.0.1类似,如果您在构建格式字段中将格式设置为1.0.0 $(rev:.r)。
否则,在构建定义中重置修订版#是不可能的。我已经尝试删除早期版本,并尝试手动将内部版本号设置为1.0.0.0以重置但没有任何效果。
答案 2 :(得分:0)
这可能是旧线程,但是我找到了对我有用的解决方案。
我有MinorVersion
和MajorVersion
的变量。然后创建我自己的名为RevisionVersion
的Revision变量,并进行如下的计数器表达式:
$[counter(format('{0}.{1}',variables['MajorVersion'],variables['MinorVersion']), 0)]
现在内部版本号可以设置为
$(MajorVersion).$(MinorVersion).$(RevisionVersion)
如果MajorVersion
或MinorVersion
的更改将RevisionVersion
重置为0。这将提供1.1.0
内部版本号格式,并且每增加一个新内部版本,修订版本就会增加1。