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

mbe*_*Net 3 msbuild build tfs2010

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

我用Google搜索,但我是msbuild和TFS构建的新手,所以我不确定我应该寻找什么才能开始.

谢谢.

jpv*_*uyl 5

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

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

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