2012-08-31 8 views
12

Für VS2010 und bevor ich Web Deployment Projects (WDP) verwendet, um meine Website für die Bereitstellung der Produktion zu packen. Ich hatte ein MSBuild-Skript, das die Lösung im Freigabemodus kompilierte. Eine Ausgabe davon waren produktionsbereite Website-Dateien, die vom WDP kompiliert und bereinigt wurden.Rufen Sie eine Veröffentlichung von Msbuild für Visual Studio 2012

Ich sehe für 2012 WDP wurden entfernt, und eine neue Registerkarte wurde in den Eigenschaften für die Webanwendung erstellt. Die Optionen sind gleich, aber jetzt erfolgt der Aufruf über die Option Veröffentlichen (bevor Sie gerade im Freigabemodus kompiliert haben).

Also die Frage ist das. Wie rufe ich einen Publish-Vorgang von einem MSBuild-Skript auf? Ich fand einige alte Beiträge, die ...

msbuild /target:publish 

würde den Trick tun. Aber das nicht auch im Jahr 2012

zu funktionieren scheint, habe ich versucht, in meiner msbuild Aufgabe ...

<MSBuild Properties="Configuration=Publish;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\MySolution.sln"></MSBuild> 

... aber msbuild berichtete nur "unbekannte Konfiguration".

Wie kann ich msbuild die Veröffentlichungsoption über die Befehlszeile ausführen lassen?

+0

versuchen: http://Stackoverflow.com/q/3097489/1162102 –

Antwort

3

Ich konnte die Veröffentlichung nicht ausführen, aber mit Blick auf die Ausgabe von Visual Studio habe ich eine alternative Lösung gefunden. Stellt fest, dass der Ordner Obj \ Release \ AspnetCompileMerge über eine bereitstellbare und saubere Version des Projekts verfügt. Es enthält byte-identische Dateien zum endgültigen Ausgabeordner.

habe ich mein msbuild Skript ändern, um die DeployOnBuild Option, um ...

<MSBuild Properties="Configuration=Release;DeployOnBuild=True;" 
     StopOnFirstFailure="true" 
     Projects="$(BuildDirectory)\BigWave.ALL.sln"></MSBuild> 
17

Es scheint, dass es jetzt einige andere Optionen für die Veröffentlichung von der Kommandozeile sind. Im Einzelnen etwas entlang der Linien der folgenden möglich scheint jetzt mit einigem RC-Updates zu Visual Studio 2012.

msbuild mywap.csproj /p:DeployOnBuild=true;PublishProfile=MyProfileName 

Weitere Details this post by Scott Hanselman Check-out und den Abschnitt Besuche auf Publishing.

+0

Sie müssen auch VisualStudioVersion = 11.0 je nach Ihrer Konfiguration hinzufügen –

+0

Vielen Dank für das Feedback @SebastianK. Weißt du, wann diese Flagge notwendig ist? –

+1

Ja, hier sind weitere Informationen zu diesem Parameter - in meinem Fall war dies notwendig, weil VS2010 auf der Build-Box installiert wurde: http://sedodream.com/PermaLink,guid,a5894bad-f2a1-441a-a5b2-74f16c6cf8aa.aspx –

Verwandte Themen