TFS的默认构建模板格式为$(BuildDefinitionName)_ $(Date:yyyyMMdd)$(Rev:.r)
这可以转化为BuildName_20141111.1,用于当天的第一个版本,BuildName_20141111.2用于第二个版本,依此类推。
这一切都很好,但是我想要做的就是在构建服务器编译之前将.r并将其插入到程序集中。
我已经编辑了构建模板来更新各种AssemblyInfo.cs文件等等,并且工作正常。现在我们正在考虑Major.Minor.yyDDD(一年中的某一天)的想法。但是问题就在于最后一部分 - 我们如何从构建模板中获得$(Rev:.r)?
我已经尝试查看各种环境变量,我可以提取整个Build定义字符串(即BuildName_20141111.1)但实际上我想要的只是.1(或更具体地说是“1”)。有没有办法以编程方式执行此操作?我错过了一个环境变量吗?或者有没有办法可以直接访问$(Rev:.r)等内容?
我对TFS相对较新,但这是我可以将很多项目移植到它之前的最后一个障碍。
答案 0 :(得分:1)
您实际上需要从BuildName参数中解析此问题。如果您使用的是TFS 2013,则可以在PowerShell中执行此操作。以前的版本需要自定义的构建模板。
有预先构建的解决方案。最好的是TfsVersion活动或作为TFS社区构建工具的一部分提供的VersionAssemblies.ps1。