MSBuild-Task zum Ausführen einer externen MSBuild-Datei

8

Ich versuche, eine MSBuild-Datei einzurichten, die eine andere MSBuild-Datei aufruft, und ich frage mich, wie ich das am besten erreichen kann.

Wir verwenden es in dem Szenario, in dem ein Build-Server eine MSBuild-Datei herunterlädt, die dann abhängig von den Parametern die entsprechende zweite Datei ausführt.

Ich weiß, dass ich einfach die <Exec Command="msbuild.exe ..." /> Aufgabe verwenden kann, aber das scheint ein bisschen hacky zu sein.

Gibt es eine einfachere Möglichkeit, MSBuild zum Ausführen einer anderen MSBuild-Datei zu verwenden?

    
Aaron Powell 01.10.2009, 04:47
quelle

4 Antworten

13

Sie können die MSBuild task verwenden, um ein Ziel in einem anderen MSBuild-Projekt zu erstellen.

Sie können das Ziel auch in eine externe .targets-Datei einfügen, die von beiden MSBuild-Projekten importiert wird, und die CallTarget task , um es zu erstellen.

Update: Um einen externen Befehl auszuführen, verwenden Sie die Exec task .

    
Franci Penov 01.10.2009, 04:52
quelle
7

Es ist nicht nur schöner, die <MSBuild> Aufgabe als <Exec Command="msbuild.exe .."/> zu verwenden. Dies bedeutet, dass der einzelne MSBuild-Prozess über alle zu erstellenden Projekte informiert ist und keine Kollisionen auftreten. Ein bestimmtes Projekt kann nicht von zwei Threads gleichzeitig erstellt werden. Das ist normalerweise wichtig, wenn Sie mit "/ m" bauen. Es gibt noch einige andere Vorteile, wie zum Beispiel das Vorhandensein eines Loggers für den gesamten Build.

    
dan moseley 15.05.2010 23:12
quelle
2

Antwort auf Adam Orens Kommentar: Hier ist ein Beispiel für die Ausführung einer externen Datei - in diesem Fall wird nunit gestartet. Das% 22 ist für das Escaping gedacht, dh "Sie können Leerzeichen in Ihrem ausführbaren Pfad haben."

%Vor%

Sie müssen keine Variablen wie ich verwenden, aber ich finde, dass es Ihre Skripte portabler macht. $ (NUnit_Install_Directory) ist als

definiert %Vor%

    
Frederik 16.04.2010 07:28
quelle
0
%Vor%     
user407665 19.12.2010 13:12
quelle

Tags und Links