如何在MSBuild中使用Team Build Properties?

我有一个使用默认流程模板的简单tfs-2010构建定义。 在其中我使用$(BuildID)定义了Build Number格式来定义计算字段的一部分。 这工作,我可以看到什么BuildID的价值。

现在我尝试将BuildID属性作为参数传递给MSBuild:

/p:SomeProperty=$(BuildID)

然而,当我查看构建日志时,我看到SomeProperty字面上等于$(BuildID),而不是BuildID的值。

我错过了什么?

更新的清晰度:我问的是如何在构建定义中引用作为生成过程参数。 例如,Build Number格式的默认表达式为$(BuildDefinitionName)_ $(Date:yyyyMMdd)$(Rev:.r)


您需要使用VB.NET表达式。 例如:

String.Format("/p:SomeProperty={0}", BuildDetail.BuildNumber)

Build Number标记,例如$(BuildDefinitionName),特定于Build Number Format流程参数。 它们不是您可以在构建过程的其他任何地方使用的令牌。 大多数可用于BuildDetail对象或环境中。 但是,生成ID有点特殊。 它来自构建表的标识列,并不直接暴露在我们的公共API中。 你可以从BuildNumber中提取它,就像这样:

BuildDetail.BuildNumber.Substring(BuildDetail.BuildNumber.LastIndexOf('/') + 1)

请注意,您需要直接在XAML中执行此操作,而不是将VB表达式放入构建过程参数编辑器GUI中。 这是因为这些值只是作为文字字符串传递。

链接地址: http://www.djcxy.com/p/54667.html

上一篇: How do I use Team Build Properties in MSBuild?

下一篇: Xcode is stopping at auto