当我在新的TFS 2015团队构建中定义自定义变量时,如下所示:
名称:SomeOutput
值:$(System.DefaultWorkingDirectory)\Some
......它似乎没有扩大$(System.DefaultWorkingDirectory)
.
有没有解决的办法?
编辑:
至少它似乎并没有到处扩展.
例如,在MSBuild-Arguments中,/p:OUTPUT="$(SomeOutput)"
扩展为/p:OUTPUT="C:\TfsData\BuildAgents\_work\3\s\Some"
但是当我添加一个cmd行构建任务时,工具设置为cmd
和参数设置为/k set
,它打印
SOMEOUTPUT=$(System.DefaultWorkingDirectory)\Some
编辑2:这是我的变量
这是我的工作流程步骤
这就是构建打印的内容
您可以使用Visual Studio Marketplace中的VSTS Variable Tasks扩展.
在"变量"屏幕中定义变量并使用其他变量作为值时,它们将不会展开(如您所料).而是将文字文本传递给工作流中的任务.如果没有这个小任务,以下配置将不起作用:
Variable Value Build.DropLocation \\share\drops\$(Build.DefinitionName)\$(Build.BuildNumber)通过将Expand变量任务添加到工作流程的顶部,它将负责扩展,因此它下面的任何任务都将获得您所追求的值.
https://github.com/jessehouwing/vsts-variable-tasks/wiki/Expand-Variable
PS:新代理(版本2.x)现在自动扩展变量.