Visual Studio 2017 RCの.NET Coreを使用したmsbuildにAfterBuild Targetのようなものはありますか?
次のスニペットを.csprojファイルに追加しようとしましたが、ビルド中に実行されません(動作するVS2015とは異なります)。
<Target Name="AfterBuild">
<Message Importance="High" Text="This is a test" />
</Target>
もう1つの興味深い発見:AfterBuildターゲットが削除された可能性があると思った-msbuild <project.csproj> /t:AfterBuild
は、追加されたターゲットを呼び出していないようです。ターゲットの名前を「Test」に変更すると、msbuild <project.csproj> /t:Test
それはうまく動作します。
また、Visual Studio 2017 RCに同梱されているmsbuildバージョン(および.NET Coreビルドスクリプト)に関するドキュメントはありますか?
別の方法は、ターゲットでAfterTargets属性を使用することです。何かのようなもの:
<Target Name="TestTarget" AfterTargets="Build">
<Message Importance="High" Text="This is a test" />
</Target>
「AfterBuild」がこれ以上動作しない理由はわかりませんが、 これはMSBuildのメンテナーによる意識的な決定のようです (このgithubの問題を指摘してLivvenにh/t) 。 「AfterBuild」は、ビルドターゲットで使用される特別な名前です。 Microsoft.Common.CurrentVersion.targets
の現在のバージョンにはまだあります:
<PropertyGroup>
<BuildDependsOn>
BeforeBuild;
CoreBuild;
AfterBuild
</BuildDependsOn>
</PropertyGroup>
<Target
Name="Build"
Condition=" '$(_InvalidConfigurationWarning)' != 'true' "
DependsOnTargets="$(BuildDependsOn)"
Returns="$(TargetPath)" />
<!--