visual-studio - studio - msbuild tutorial



Welche Parameter werden von Visual Studio an MSBuild übergeben? (2)

Visual Studio führt MSBuild.exe nicht aus, MSBuild.exe jedoch die Build-Engine selbst (mithilfe der Microsoft.Build.* MSBuild.exe ist zumindest für das Standard-C # -Projektsystem der Fall. Andere Sprachen, Addins, Packages usw. machen es möglicherweise anders.

Eigentlich gab es eine Postserie in den Microsoft-Blogs zu diesem Thema. Ich versuche sie zu finden und diese Antwort zu aktualisieren.

UPDATE : Ich habe es wieder gefunden. Suchen Sie hier nach den Beiträgen "MSBuild in Visual Studio".

In Bezug auf Ihre ursprüngliche Frage kann Ihnen this Seite weiterhelfen. Sie können auch auf "Extras", "Optionen", "Projekte und Lösungen", "Erstellen und Ausführen" gehen und die Ausgabebosität von MSBuild erhöhen. Mit "Diagnose" sollten Sie grundsätzlich alle Eigenschaften sehen, die beim Starten des Builds festgelegt werden.

Wenn Visual Studio einen Build ausführt, wird MSBuild ausgeführt, um den Großteil der Arbeit zu erledigen. Wenn Sie die .sln-Datei mit den entsprechenden Konfigurations- und Plattform-Eigenschaften an MSBuild übergeben, wird Ihre Lösung ähnlich wie in Visual Studio erstellt.

msbuild mysolution.sln /p:Configuration=Release /p:Platform="Any CPU"

Es gibt jedoch Unterschiede: Manchmal wird ein Build durch MSBuild und nicht durch Visual Studio oder umgekehrt erzeugt.

Welche Parameter werden von Visual Studio in MSBuild übernommen, um den Prozess zu beeinflussen? Gibt es eine Möglichkeit, die Parameter zu sehen, die während der Ausführung eines Builds übergeben werden?


Answer #1

Zunächst können Sie msbuild mit dem Argument /v:diag , um die Protokollierung auf Diagnoseebene /v:diag . Dies kann wirklich hilfreich sein, um herauszufinden, warum ein Build fehlschlägt.

Andernfalls, ja, wenn Sie den Prozessmonitor verwenden , können Sie auf Prozessstartereignisse überwachen , bei denen die spezifische Befehlszeile angezeigt wird, die an den Prozess gesendet wird.

Speziell:

  • Führen Sie Process Monitor aus
  • Filter »Filter ...
  • Operation is Process Create »Hinzufügen
  • Operation is Process Start »Hinzufügen
  • OK
  • Führen Sie Ihren Build durch VS und durch Befehlszeile-Befehlszeile aus
  • Siehe die Befehlszeilenargumente in der Detailspalte




msbuild