Frage Wie kann ich alles mit MSBuild von der Kommandozeile aus erstellen?


Ist das gültig?

MSBuild /t=all /configuration=all

Ich möchte alle Konfigurationen aller Projekte in einer SLN-Datei usw. von der Befehlszeile mit MSBuild in Visual Studio 2008 erstellen.

Ich möchte sie nicht angeben müssen, wenn ich MSBuild anrufe, die sln / proj-Dateien haben alle diese Informationen. Ich möchte mein Build-Skript nicht ändern, wenn ich Konfigurationen zu Projektdateien hinzufüge.

Also für das Ziel kann ich BuildAll verwenden. Wenn ich die Konfiguration leer lasse, baut sie dann alles oder ist "BuildALL" auch für die Konfiguration gültig?

BEARBEITEN

im Wesentlichen, was ich stelle, ist eine SLN oder VCProj Datei gegeben, ich möchte, dass msbuild alle Konfigurationen iteriert und es selbst erstellt, oder alternativ einen Mechanismus, der sie entdecken wird, so dass ich sie nicht speziell in der Befehlszeile oder in einem auflisten muss Skript.

Ich möchte mein Build-Skript nicht aktualisieren, wenn ich eine Konfiguration hinzufüge oder entferne. Das scheint ziemlich vernünftig zu sein.


5
2018-05-09 04:55


Ursprung


Antworten:


Sie können nicht standardmäßig alle Konfigurationen mithilfe von MSBuild-Befehlszeilenoptionen erstellen. Um dies zu tun, müssen Sie ein neues Ziel erstellen (VS Project).

So wie ich es mache ist:

msbuild /t:BuildAll /Configuration:"Debug;Release;ContinuousIntegration"

Ich mache ein Standard-Target und nenne es BuildAll, und für jedes Projekt, das ich automatisieren möchte, würde ich einfach dieses Target erstellen und es von allen Zielen abhängig machen, die Sie automatisch erstellen wollen.


8
2018-05-09 05:01