TFS 2010:使用内部版本号格式的标签名称

时间:2011-05-10 13:04:13

标签: msbuild build tfs2010

我正在尝试使用TFS 2010设置构建。我希望构建数字格式类似于 $(BuildDefinitionName)_ $(version),其中 $(Version)< / strong>是“队列构建”对话框中“获取版本”字段中指定的版本(标签或变更集)。如果没有特定版本,我希望版本最新

我用谷歌搜索了但是我是msbuild和TFS构建的新手,所以我不确定我应该开始寻找什么。

感谢。

2 个答案:

答案 0 :(得分:5)

构建模板中的Microsoft.TeamFoundation.Build.Workflow.Activities.UpdateBuildNumber活动(例如DefaultTemplate.xaml)是转换构建号格式字符串的工作。它采用列出here的任何参数,但版本(您的变更集或标签)不是受支持的标记之一。

我发现不需要自定义代码的一种解决方法是在Update Build Number活动使用它之前立即编辑BuildNumberFormat参数。

  1. 使用GUI编辑器打开xaml模板,并在顶部找到Update Build Number活动。
  2. 查找基元 - &gt;在“工具箱”中指定活动。将其拖放到Update Build Number上方。
  3. 修改“分配”活动,将值String.Format("$(BuildDefinitionName)_$(Date:yyyyMMdd)_{0}$(Rev:.r)", BuildDetail.SourceGetVersion)分配给BuildNumberFormat。 SourceGetVersion将提取用于触发构建的变更集编号或标签。如果在对构建进行排队时在“获取版本”对话框中未指定任何内容,则默认情况下会使用更改集编号(例如,C16044)。

答案 1 :(得分:1)