【问题标题】:Visual Studio 2015 - Running Post Build Events only when built from the GUIVisual Studio 2015 - 仅在从 GUI 构建时运行构建后事件
【发布时间】:2016-12-01 13:25:28
【问题描述】:

我有一个构建 10 个项目的 Visual Studio 2015 解决方案。在每个项目中都有一个 pre 和 post build 事件来调用 ant 来解析和发布代码。这些事件应该在每个项目构建之前和之后触发,因此将事件移至解决方案是行不通的。

每个项目还应该能够使用 ant 从命令行构建。当它从命令行构建时,会触发事件,但最好不要触发。

有谁知道是否有办法让 VS/MSBuild 确定它是从 GUI 内触发还是从命令行触发?

【问题讨论】:

    标签: visual-studio visual-studio-2015 ant post-build-event pre-build-event


    【解决方案1】:

    我不确定您是否可以在 PostBuildEvent 中执行此操作,但您可以使用 AfterBuild 目标并添加如下条件:

      <Target Name="AfterBuild">
        <Exec Command="SOME_COMMAND" Condition=" '$(BuildingInsideVisualStudio)' == 'true' " />
      </Target>
    

    您需要手动编辑项目文件才能执行此操作,因为项目属性不允许您对此进行控制。

    【讨论】:

      【解决方案2】:

      如果您使用的是 Visual Studio 2017,则需要将条件语句作为属性添加到 PostBuildEvent。

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

      这将防止在重新构建依赖项时运行构建后事件。

      【讨论】:

        猜你喜欢
        • 2020-08-17
        • 2010-09-14
        • 2016-08-11
        • 2016-05-21
        • 2015-05-06
        • 1970-01-01
        • 1970-01-01
        • 2017-04-01
        相关资源
        最近更新 更多