【问题标题】:Detect TFS Build vs. Visual Studio build检测 TFS 构建与 Visual Studio 构建
【发布时间】:2015-08-15 06:56:36
【问题描述】:

是否可以在不创建单独的解决方案配置的情况下检测当前构建是否从 Visual Studio 执行,而不是使用 TFS 自动构建?我想知道如果构建在 TFS 2013 上运行,我是否可以排除某些构建后事件,但如果可能的话,我想避免完全单独的配置。

【问题讨论】:

    标签: visual-studio-2013 tfs tfsbuild


    【解决方案1】:

    您无需编辑 CSProj 文件:只需在 Visual Studio 生成后事件中使用 CMD.EXE 语法

    您可以测试是否在 Visual Studio 中运行

    IF "$(BuildingInsideVisualStudio)"=="true" ( … )

    或在 TFS 内部构建(2013 或更高版本)

    IF "$(TF_BUILD)"=="True" ( … )

    查看讨论 TFS 2010 Build Automation and post-build eventTeam Foundation Build environment variables

    【讨论】:

      【解决方案2】:

      有可能,我终于找到了方法:

      1. 卸载已定义 PostBuildEvent 的相关项目。
      2. 编辑 .csproj 文件。
      3. 找到 PostBuildEvent XML 元素,并添加一个 Condition 属性,如下所示:

        <PostBuildEvent Condition="'$(BuildingInsideVisualStudio)' == 'true'">

      此时 PostBuildEvent 将仅在使用 Visual Studio 构建时执行。

      This answer 和该问题的其他答案很有帮助。

      this MSDN 页面上也简要提到了此特定属性。

      【讨论】:

        猜你喜欢
        • 2013-02-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-09-17
        • 1970-01-01
        • 1970-01-01
        • 2013-09-12
        • 2017-12-05
        相关资源
        最近更新 更多