我有一个带
的TFS构建定义 Process > Basic > Build Number Format
参数设置为
1.1.2-alpha$(Rev:.r)
每当我从'Latest Sources'构建并且构建代理应用正确的版本号( 1.1.2-alpha1 等等)时,这都可以正常工作。但是,当我尝试从具有相同构建定义的shelveset构建时,构建失败并出现以下错误:
'31927' is not a valid version string.
那么,在从shelveset构建时,如何确保构建代理应用相同的命名模式?
错误讯息:
答案 0 :(得分:1)
错误是由构建过程中的nuget pack任务引起的。您使用内部版本号来编辑nuget包,但内部版本号“31927”不符合Nuget Versioning。
使用shelveset对构建进行排队时,构建号始终使用以下格式:构建N.它不会读取您在“构建号格式”中配置的设置。有关详细信息,请参阅此链接:Private Build。
使用格式Build N命名完成的构建,其中N是a 唯一的整数值。这种格式与公共构建的格式不同, 您使用Build Number Format参数指定的。
这意味着,为了避免这个问题,您需要使用其他一些方法来编辑您的nuget包。