首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在MSBuild中使用Team Build属性?

如何在MSBuild中使用Team Build属性?
EN

Stack Overflow用户
提问于 2011-08-29 23:12:15
回答 1查看 3.5K关注 0票数 7

我有一个使用默认流程模板的简单tfs-2010构建定义。在它中,我定义了内部版本号格式,使用$(BuildID)来定义计算字段的一部分。这是可行的,我可以看到BuildID的值是什么。

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

代码语言:javascript
运行
复制
/p:SomeProperty=$(BuildID)

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

我遗漏了什么?

为了清楚起见,更新:我想问的是如何在构建定义中引用作为构建过程参数。例如,内部版本号格式的默认表达式为$(BuildDefinitionName)_$(Date:yyyyMMdd)$(Rev:.r)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-08-30 21:22:36

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

代码语言:javascript
运行
复制
String.Format("/p:SomeProperty={0}", BuildDetail.BuildNumber)

内部版本号令牌,例如$(BuildDefinitionName),特定于内部版本号格式进程参数。它们不是您可以在构建过程中的任何其他地方使用的令牌。大多数都可以在BuildDetail对象中或从环境中获得。但是,构建Id是一个有点特殊的情况。它来自builds表的identity列,并不直接在我们的公共API中公开。您可以从BuildNumber中提取它,如下所示:

代码语言:javascript
运行
复制
BuildDetail.BuildNumber.Substring(BuildDetail.BuildNumber.LastIndexOf('/') + 1)

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

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7232055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档