1

Ich habe eine MVC-Anwendung und ein WebAPI-Dienst ist eine einzelne Lösung, und für beide Projekte habe ich ein publish-Profil mit dem Dateisystem zum Bereitstellen erstellt. Es funktioniert tatsächlich sehr schön. Ich muss jedoch jedes Projekt zuerst manuell zu Staging und dann zu Produktion bereitstellen. Es ist langweilig, um es milde auszudrücken.MSBuild von der Befehlszeile, aber keine app_offline.htm?

Ich habe herausgefunden, wie ich MSBuild über die Befehlszeile aufrufen und das Veröffentlichungsprofil angeben kann. Dadurch kann ich MSBuild auf einer Lösungsebene aufrufen, und die MVC-App und der Service werden beide bereitgestellt. Groß. Allerdings ...

Wenn ich die Publish-Funktion über VS2015 aufrufen (Rechtsklick auf Projekt, wählen Sie Veröffentlichen, wählen Sie das richtige Profil, und weg geht es) kopiert es eine app_offline.htm, löscht, was derzeit dort ist, baut die projizieren und bereitstellen. Aber wenn ich dies über die Befehlszeile mache, wird die app_offline.htm nie angezeigt, löscht die Dateien nicht vor der Bereitstellung.

Gibt es einen Schalter oder Parameter vermisse ich in meinem MSbuild Kommandozeile, die ganz offen gesagt ziemlich einfach ist:

msbuild .\mySolution.sln /p:DeployOnBuild=true /p:PublishProfile=Staging 

weiß, dass ich Web Deploy die bevorzugte Methode ist, aber wir sind ein wenig nach hinten hier Wir nehmen niemals das Neueste und Größte an, also muss ich herausfinden, wie ich meine aktuellen Veröffentlichungsprofile mit dem Dateisystem verwenden kann, nur ein bisschen effizienter, als jedes Projekt einzeln, mehrfach zu veröffentlichen.

Antwort

0

In den meisten Fällen VS und MSBuild über die Befehlszeile im Wesentlichen die gleiche Sache. Aber ich habe ähnliche Probleme mit denen, auf die Sie stoßen. Eine Möglichkeit, dies zu umgehen, besteht darin, ein Ziel zu erstellen, um sicherzustellen, dass Ihre Dateien entsprechend kopiert werden. This MSDN Question geht näher auf einige Lösungen, die helfen können. In einigen Fällen habe ich Powershell-Skripts oder Batch-Dateien, die in die fraglichen Projekte eingecheckt werden, und ich führe sie auf den Zielrechnern aus, sobald die Lösung implementiert ist.

Verwandte Themen