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?
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.
Tags und Links silverlight-4.0 .net-4.0 performance msbuild