TFS 2015 构建变量扩展

TFS 2015 Build Variable Expansion

我们有一个 VNext 构建定义,在“变量”选项卡上我们添加了一些自定义变量。在其中一个变量值中,我们引用了另一个变量,即

FileDescription = $(Build.DefinitionName)

然而,当我们在 PowerShell 脚本中引用它时,FILEDESCRIPTION 环境变量存在但值未扩展(它包含“$(Build.DefinitionName)”)并被视为字符串文字.

文档似乎表明我们应该能够参考它,它将在 运行-时间被替换 - https://msdn.microsoft.com/en-us/library/vs/alm/build/scripts/variables

有没有办法让TFS在运行的时候自动展开变量?

在vNext 构建中,似乎并没有到处扩展变量。

例如,在 MSBuild-Arguments 中,/p:OUTPUT="$(FileDescription)" 被扩展为 /p:OUTPUT="(构建定义的名称)" ,但在 powershell 中它只会直接打印 "$(Build.DefinitionName)"

尝试使用以下解决方法:尝试使用相应生成的环境变量(例如$env:Build.DefinitionName)。

$FileDescription = $env:Build.DefinitionName 

注意:如果需要更改路径,则必须更改 PS 脚本而不是构建变量。