10

ASP.NET 5 Web アプリケーションを発行するときにのみ Gulp タスクを実行する最良の方法は何でしょうか? Gulp コマンドを実行するカスタム ビルド イベントを追加する必要はありますか?

cmd.exe /c gulp -b "C:\Projects\ProjectName\Source\ProjectName.Web" --gulpfile "C:\Projects\ProjectName\Source\ProjectName.Web\Gulpfile.js" publish

または、できれば、BeforePublishTask Runner Explorer を介して Gulp タスクをターゲットにバインドする方法はありますか?

どんな提案でも大歓迎です。

4

2 に答える 2

7

発行プロファイル ファイルでターゲットを作成します (*.pubxml ファイルは asp.net 5 プロジェクトにまだ存在します)。pubxml ファイルはビルド ファイルであり、proj ビルド ファイルに追加されます。この方法では、その特定のプロファイルを使用して公開する場合にのみ実行されます。
私は BeforeBuild ターゲットをより一般的に使用し (すべてのパッケージの復元、ビューでの js/css のすべての注入など、ビルドが開始される前にそれらを実行します)、そこに gulp コマンドを追加します。

<Target Name="BeforeBuild">
   <Exec Command="call gulp" WorkingDirectory="$(ProjectDir)" />
</Target>

これは、Visual Studio からパブリッシュする場合でも、ビルド マシンから MSBuild を使用してパブリッシュする場合でも機能します。

于 2015-08-07T19:35:30.060 に答える
4

UPDATE 2 .NET Core CLI は、「事前パック」をサポートしなくなりました。「ポストコンパイル」スクリプトの方が適切に機能する場合があります。

https://docs.microsoft.com/en-us/dotnet/articles/core/tools/project-json#scripts

元の回答

の「スクリプト」セクションに追加しますproject.json

project.json: スクリプトのドキュメント

{
...
  "scripts": {
    "prepack": "gulp publish",
  }
...
}
于 2015-08-11T23:47:17.840 に答える