获取TFS源版本更改集并应用于AssemblyInfo

时间:2016-10-26 12:31:16

标签: powershell tfs tfs2012

我正在尝试从TFS获取源版本变更集编号。我正在使用PowerShell脚本添加AssemblyInformationalVersion。我已经尝试过使用$ env:TF_BUILD SOURCEGETVERSION,但这项工作只会返回空白。我们正在使用TFS 2012和一个调用PowerShell脚本(http://www.colinsalmcorner.com/post/build-script-hooks-for-tfs-2012-builds

的自定义构建模板

我真的想保留PowerShell脚本中的所有内容

2 个答案:

答案 0 :(得分:0)

不,这不能简单地通过powershell脚本中的环境变量来实现。您需要创建自定义任务,请按照以下步骤进行尝试:

  1. 在TFS版本控制中获取最新的变更集编号。您可以 只需使用 TFS API 即可获得它。请参阅此主题 详细信息:Programmatically retrieve the latest changeset number available in a workspace
  2. 您可以编写另一个小程序来修改FileVersion字段 在.rc文件中是您在Setp1中获得的变更集编号。
  3. 或者你可以试试Ivan在这个问题中回答的方法Versioning .NET builds

    在SO中添加更多类似的问题供您参考:

答案 1 :(得分:0)

答案在你提到的文章(挑战2 - 环境变量)中。

  

当我为2013版本创建脚本以对程序集进行版本化时,我   依赖于2013版本设置一些环境变量这一事实   你可以在你的脚本中使用。你可以看到我得到了   $ ENV:TF_BUILD_BUILDNUMBER。那么,在2012年的工作流程中,这些变量   未设置,因此您必须添加活动才能执行此操作。

这就是为什么$ env:TF_BUILD SOURCEGETVERSION返回空白,所以你只需要按照挑战2中的步骤进行设置。