【问题标题】:Get TFS Source Version Changeset and apply to AssemblyInfo获取 TFS 源版本变更集并应用于 AssemblyInfo
【发布时间】:2016-10-26 12:31:15
【问题描述】:

我正在尝试从 TFS 获取源版本变更集编号。我正在使用 PowerShell 脚本来添加 AssemblyInformationalVersion。我试过使用 $env:TF_BUILD SOURCEGETVERSION 但这不起作用它只是返回空白。我们将 TFS 2012 与调用 PowerShell 脚本 (http://www.colinsalmcorner.com/post/build-script-hooks-for-tfs-2012-builds) 的自定义构建模板一起使用

我真的希望将所有内容都保留在 PowerShell 脚本中

【问题讨论】:

    标签: powershell tfs


    【解决方案1】:

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

    1. 在您的 TFS 版本控制中获取最新的变更集编号。你可以 只需使用 TFS API 即可。请参阅此线程 详细信息:Programmatically retrieve the latest changeset number available in a workspace
    2. 您可以编写另一个小程序来修改您的 FileVersion 字段 在 .rc 文件中是您在 Setp1 中获得的变更集编号。

    或者你可以试试这个问题Versioning .NET buildsIvan的回答描述的方法


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

    【讨论】:

      【解决方案2】:

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

      当我为 2013 版本创建脚本以对程序集进行版本控制时,我 依赖于 2013 构建设置了一些环境变量的事实 你可以在你的脚本中使用它。你可以看到我得到了 $env:TF_BUILD_BUILDNUMBER。那么,在 2012 年的工作流程中,这些变量 没有设置,所以你必须添加一个活动来做。

      这就是 $env:TF_BUILD SOURCEGETVERSION 返回空白的原因,因此您只需按照挑战 2 中的步骤进行设置即可。

      【讨论】:

        猜你喜欢
        • 2015-10-11
        • 2015-12-27
        • 2018-02-22
        • 1970-01-01
        • 2011-03-21
        • 2012-05-20
        • 2011-01-22
        • 2019-10-31
        • 2011-03-11
        相关资源
        最近更新 更多