2015-08-07 9 views
9

Was wäre der beste Weg, Gulp-Aufgaben nur beim Veröffentlichen einer ASP.NET 5-Webanwendung auszuführen? Muss ich add a custom build event, die einen Gulp-Befehl ausführt?Ausführen von Gulp-Aufgaben nur beim Veröffentlichen der ASP.NET 5-Webanwendung

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

oder vorzugsweise ist es eine Möglichkeit, eine Gulp Aufgabe des BeforePublish Ziel über den Task-Runner Explorer zu binden?

Alle Vorschläge würden sehr geschätzt werden.

Antwort

4

UPDATE 2 .NET Core CLI unterstützt "Prepack" nicht mehr. Ein "Postcompile" -Skript funktioniert möglicherweise besser.

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

Original-Antwort

Fügen Sie es zu Ihrem "Skripte" Abschnitt project.json

project.json: Scripts documentation

{ 
... 
    "scripts": { 
    "prepack": "gulp publish", 
    } 
... 
} 
+0

Wenn ich es vor einem laufen wollte veröffentlichen, würde ich in die Prepack-Aktion einsteigen? –

+1

Eigentlich ist das "Prebuild" -Ziel möglicherweise besser, wenn Sie VS Tooling zum Veröffentlichen verwenden. – natemcmaster

+0

Wenn Sie vor dem Veröffentlichen ausführen möchten, denke ich, dass 'prepublish' die zu verwendende Aktion ist ... – Pawel

8

Erstellen Sie das Ziel in Ihrer Veröffentlichungsprofildatei (die * .pubxml-Datei existiert noch in ASP.net 5-Projekten). Die pubxml-Datei ist eine Build-Datei und wird Ihrer proj-Build-Datei hinzugefügt. Auf diese Weise würde es nur ausgeführt, wenn Sie mit diesem bestimmten Profil veröffentlichen.
würde ich Before Ziel sein allgemeineren (alle Pakete wiederherzustellen, alle die Injektion von js/css in Ansichten usw. Ich würde sie tun, bevor der Bau beginnen würde) verwenden und dort den Zug Befehl hinzufügen:

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

Dies würde funktionieren, egal ob Sie von Visual Studio oder mit MSBuild von Ihrem Build-Rechner veröffentlichen.