Warum benötigt die MSBuild-Aufgabe ResolveProjectReferences wirklich viel Zeit?

8

Ich habe eine Silverlight 4-Lösung, die von VS2010 und der MSBuild 4-Befehlszeile sehr lange benötigt.

Die Lösung enthält 42 Projekte, eines ist ein Silverlight-Anwendungsprojekt, ein Webanwendungsprojekt und der Rest sind Klassenbibliotheken.

Die Zusammenfassung von MSBuild diag zeigt, dass diese Aufgaben einige Zeit benötigen ...

%Vor%

Die Projektabhängigkeiten sind recht übersichtlich und die Build-Reihenfolge sieht vernünftig aus. Ich habe alle Projekte in einem einzigen Ausgabeordner kompilieren, und alle referenzierten haben CopyLocal = false.

Es scheint, dass der schlimmste Täter die ResolveProjectReferences ist, aber warum sollte es so lange dauern?

    
Andronicus 30.07.2010, 11:56
quelle

2 Antworten

2

Haben Sie die Codeanalyse beim Build aktiviert? Wenn ja, versuchen Sie es zu deaktivieren. Hatte ein ähnliches Problem. Nach dem Deaktivieren der Code-Analyse läuft der Build ca. 5-mal schneller.

    
Al3x3 09.03.2011 11:06
quelle
0

ResolveProjectReferences muss jedes referenzierte Projekt erstellen. Es ist also möglich, dass einige Projekte mehrfach erstellt werden.

Verwenden Sie Dateireferenzen und einen zentralen Build-Prozess, um dieses Problem zu beheben.

ich habe dies einmal in einem Projekt verwendet

Wir haben unsere Bauzeit von 12 Minuten auf 3 Minuten verkürzt.

    
mo. 23.01.2014 11:39
quelle