TFS 2015构建变量扩展

Mar*_*rcD 5 tfs-2015

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

FileDescription = $(Build.DefinitionName)
Run Code Online (Sandbox Code Playgroud)

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

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

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

Pat*_*SFT 0

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

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

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

$FileDescription = $env:Build.DefinitionName 
Run Code Online (Sandbox Code Playgroud)

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