So ändern Sie die Ausführlichkeit der MSBuild-Aufgabe?

Ich würde gern eine unterschiedliche Ausführlichkeit der msbuild-Projekt aufgerufen, von der Kommandozeile, und diejenigen, die aufgerufen wird, durch die MSBuild-Aufgabe innerhalb des Projekts. Zum Beispiel:

In meinem.proj:

<Target Name=Foo>
  <MSBuild Projects="a.csproj;b.csproj;c.csproj"/>
</Target>

Auf der Kommandozeile:

msbuild /v:d my.proj

nun, wenn die MSBuild-task erstellt die .csproj-Dateien, es tut mit detaillierten Ausführlichkeit als gut. Allerdings würde ich es bauen wollen-mit minimalen Ausführlichkeit.

Ich weiß, es ist möglich, zum aufrufen von msbuild manuell und zwar so:

<Target Name=Foo>
  <Exec Command="msbuild /v:m a.csproj"/>
  <Exec Command="msbuild /v:m b.csproj"/>
  <Exec Command="msbuild /v:m c.csproj"/>
</Target>

oder in der Praxis

<Target Name=Foo>
  <Exec Command="msbuild /v:m %(Projectlist.Identity)"/>
</Target>

und das funktioniert gut, natürlich, aber dann kann ich nicht die Funktionen der BuildInParallel Schalter mehr (ich glaube nicht, dass es möglich ist, zum aufrufen von msbuild von der Befehlszeile mit mehreren Projekten, ohne die in einer Lösung?)

Update

Ging ich mit Ludwo die option: im Grunde erstellen Sie eine benutzerdefinierte logger hält zwei ConsoleLoggers als Mitglied. Hat man die Ausführlichkeit übergeben Befehlszeile an, die andere ist "minimal". Der logger registriert sich für alle Ereignisse ab und übergibt Sie an einen der Holzfäller, je nachdem, ob eine csproj-Datei ist derzeit gebaut wird oder nicht. Die Ausgabe sieht genau so aus wie normal, außer dass es keine Tausende von Zeilen aus der csproj-Dateien.

  • Dieser post von Scott Hanselman könnte enlightn Sie. hanselman.com/blog/...
  • + interessant zu Lesen. Aber meine Projekte sind nicht enthalten Lösungen, so dass die /m Schalter hat nicht die gleiche Wirkung wie effektiv Bau-Projekte in parallelen: Sie sind immer noch gebaut sequentiell (ich werde aktualisieren, die Frage, um dies zu reflektieren)
  • Auf einem unserer Projekte, die wir verwendet MSBuild-Sidekick zur Abbildung heraus, wie man unser Produkt-Hierarchie, könnte einen Blick Wert sein, zu helfen, auf die parrallisation der Aufgaben als gut. attrice.info/msbuild Scheint seltsam, dass Ausführlichkeit ist gekoppelt an Parallelität.
  • es ist nicht wirklich gepaart, es ist nur eine Nebenwirkung, die mir versuchen zu bekommen, um die Ausführlichkeit der MSBuild-Aufgabe durch aufrufen von msbuild manuell
InformationsquelleAutor stijn | 2011-10-23
Schreibe einen Kommentar