自定义TFS环境变量不';t读取$(日期)
我想使用如下自定义tfs变量: 合并版本:自定义TFS环境变量不';t读取$(日期),tfs,environment-variables,Tfs,Environment Variables,我想使用如下自定义tfs变量: 合并版本:$(BuildVersion.Major)。$(BuildVersion.Minor)。$(日期:yy)$(DayOfYear)$(版本:r) 我的问题是$(日期),$(修订版:r)和$(DateOfYear)在BuildNumberFormat设置之外不起作用 我的结果是: 无效的版本字符串:“1.0.$(日期:yy)$(DayOfYear)$(版本:.r)” 使用buildnumberformat(如图所示)时,可以正确工作: 结果$(Build.
$(BuildVersion.Major)。$(BuildVersion.Minor)。$(日期:yy)$(DayOfYear)$(版本:r)
我的问题是$(日期)
,$(修订版:r)
和$(DateOfYear)
在BuildNumberFormat设置之外不起作用
我的结果是:
无效的版本字符串:“1.0.$(日期:yy)$(DayOfYear)$(版本:.r)”
使用buildnumberformat(如图所示)时,可以正确工作:
结果
$(Build.BuildNumber)
是MyBuildName_1.0.18004.15
在生成定义中的PowerShell任务中使用以下脚本
$date=$(Get-Date -Format 'yy');
Write-Host "##vso[task.setvariable variable=Today]$date"
然后,您可以在后续构建任务中使用$(今天)。但是,像$(今天:yy)这样使用格式是不可能的,因为它仅在内部版本号格式中受支持。一些令牌仅在
内部版本号格式
部分可用,例如$(日期)
,$(Rev:r)
和$(DateOfYear)
。看
作为一种解决方法,要使用$(Rev:r)
可以将生成编号格式设置为$(Rev:r)
,然后在任务中使用$(build.BuildNumber)
变量
要使用$(日期:yy)$(DayOfYear)
,您可以通过PowerShell任务将变量设置为上述ChamindaC
*.ps1
文件$time=$(获取日期-格式“yy”)#您可以根据需要设置日期格式
$doy=(获取日期)。DayofYear
写入主机“##vso[task.setvariable=Date]$time”
写入主机“##vso[task.setvariable=DayOfYear]$doy”
$(日期)
和$(DayOfYear)
在@ChamindaC和@Andy Li MSFT的答案之上构建,并使用Peter Groenewegen的Xpirit构建扩展,我能够从构建编号中检索$(rev:r): 在以下MSBuild任务中,我将其引用为$(修订版)