1

私は10のプロジェクトをビルドするVisual Studio 2015ソリューションを持っています。各プロジェクトには、コードを解決し公開するためにantを呼び出す前と後のビルドイベントがあります。これらのイベントは、プロジェクトのビルドの前後にトリガーする必要があるため、イベントをソリューションに移動することはできません。Visual Studio 2015 - ポストビルドイベントは、GUIから構築した場合にのみ実行します。

それぞれのプロジェクトは、antを使用してコマンドラインからビルドすることもできます。コマンドラインからビルドすると、イベントがトリガされますが、そうでない場合は、それが望ましいでしょう。

GUI内またはコマンドラインからトリガされているかどうかをVS/MSBuildが判断する方法があるかどうかは知りませんか?

答えて

2

私はあなたがPostBuildEventでこれを行うことができますことを確認していないが、あなたはAfterBuildターゲットを使用して、このように条件を追加することができます

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

あなたは順番に手でプロジェクトファイルを編集する必要がありますこれを行うには、プロジェクトプロパティではこれを制御できません。

1

Visual Studio 2017を使用している場合は、PostBuildEventに属性として条件文を追加する必要があります。

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

これにより、依存関係の再構築時にポストビルドイベントが実行されなくなります。

関連する問題