Wie verwende ich MSBuild, um eine MVC4-Lösung über die Befehlszeile zu erstellen (indem Web.config-Transformationen im Prozess angewendet werden) und in einen Ordner auszugeben?

8

Ich denke, dass der Titel der Frage so ziemlich alles gesagt hat, aber aus Gründen der Klarheit versuche ich:

  1. Erstellen Sie eine VS2010 ASP.NET MVC4-Lösung über die Befehlszeile (MSBuild), und geben Sie eine Lösungskonfiguration (z. B. Release)
  2. an
  3. Wenden Sie alle Web.config-Transformationen für diese Konfiguration während des Prozesses an
  4. Ausgabe der Ergebnisse in einen Ordner auf dem lokalen Rechner (kein IIS, Agenten, ZIP-Dateien, FTP, Pakete usw., nur ein Ordner , der alle zum Ausführen dieser Website erforderlichen Dateien enthält)

Ich habe seit fast einer Woche versucht, das herauszufinden, durch die Microsoft-Dokumente (die auffallend wenig hilfreich sind), andere Antworten auf SO und allgemeines Googeln. Ich weiß nicht, ob ich es gerade nicht bekomme (was durchaus möglich ist), oder ob MSBuild / MSDeploy wirklich das kryptische Chaos ist, das es momentan zu sein scheint.

Gibt es einen relativ einfachen Weg, dies zu erreichen? Hilfe, bitte!

    
Mark Bell 07.03.2013, 14:19
quelle

1 Antwort

29

Wenn Sie VS2010 ausführen: Stellen Sie sicher, dass Sie das Azure 1.7+ SDK installiert haben (selbst wenn Sie nicht in Azure veröffentlichen, fügt VS2010 die VS2012-Veröffentlichungsfunktionen hinzu)

VS2012 + haben diese Features eingebaut

%Vor%

Oder wenn Sie die Lösungsdatei erstellen:

%Vor%

Wie auch immer, Sie können auch /p:PrecompileBeforePublish=true setzen und die Ausgabe wird eine vorkompilierte Version der Site sein.

Sobald Sie das Azure SDK installiert haben, erstellen Sie normalerweise ein Veröffentlichungsprofil und verwenden einfach /p:PublishProfile=DeployToFolder , aber ich habe Ihnen die manuelle Befehlszeile gegeben, falls Sie nicht daran interessiert sind, mit den neuen Veröffentlichungsdaten all-in zu gehen .

    
Richard Szalay 09.03.2013, 23:28
quelle

Tags und Links