2016-05-19 6 views
0

Gibt es eine Möglichkeit, wie ich Msbuild-Befehle von Visual Studio 2012/2015 extrahieren kann. Ich erstelle ein Befehlszeilentool, wo ich Msbuild-Befehle "manuell" für die verschiedenen C# -Projekte schreiben muss. Ich frage mich, ob es möglich ist, diese Befehle direkt aus Visual Studio zu extrahieren, also kopiere ich einfach & und füge diese Befehle in mein Werkzeug ein.Msbuild-Befehle von Visual Studio extrahieren

Antwort

0

ProcMon von SysInternals können Sie "ProcessCreate" Ereignisse abfangen.

Versuchen Sie es während der Erstellung Ihrer Lösung ausgeführt wird und eine Filtereinstellung Name = „MSBuild“

Diese alle Fenster werden abfangen zu Prozessereignisse für MSBuild einschließlich Prozesserstellung. Wenn Sie die Ereigniseigenschaften anzeigen, können Sie die Befehlszeile sehen, die ihren Prozess erstellt hat.

enter image description here

+0

Vielen Dank Moataz. Das Tool, das Sie erwähnten, war hilfreich bei dem Verfolgen von MSBuild.exe-Prozess. Ich konnte jedoch immer noch nicht die genaue Befehlszeile für den Buildprozess abrufen. Ich sehe weiterhin dieselbe Befehlszeile, die Sie oben markiert haben. – Puneet035

+0

Vielleicht startet VS eine Reihe von Msbuild-Instanzen und kommuniziert dann auf andere Weise mit ihnen? In jedem Fall werden beim Erstellen von VS auch Eigenschaften wie "BuildingInVisualStudio = true" an den Build übergeben, so dass Sie die Msbuild-Befehle sowieso nicht kopieren können, da dieses Flag wahrscheinlich in der Befehlszeile – stijn

+1

ist. Es scheint devenv.exe zu sein kommuniziert mit MSBuild.exe über eine IPC-Pipe, um den Build zu erstellen. Wenn Sie die Pipeliste von Sysinternals verwenden, wird während des Erstellungsprozesses eine Pipe zu msbuild angezeigt. Ich würde einen Schritt zurück gehen und fragen, warum müssen Sie die Befehle wirklich abfangen? Warum nicht einfach direkt mit msbuild arbeiten? – mymo

Verwandte Themen