Obwohl VS dies nicht direkt zulässt, ist es dennoch möglich, mit MSBuild "innerhalb" von VS2015 zu erstellen und sowohl die Ausgabe des Build-Fensters als auch die Protokolldatei wie folgt abzurufen: (Dies ist wahrscheinlich ein kleiner Hack.)
- Fügen Sie in Ihrer VS Managed-Lösung ein neues Projekt hinzu (nennen wir es "Make"). ein. Der gewünschte Projekttyp ist Visual C ++ / NMake-Projekt.
- Definieren Sie die MSBuild-Befehle, die Sie in der Befehlszeile benötigen (siehe unten).
- Ändern Sie die Lösungskonfiguration, um das NMake-Projekt anstelle der normal verwalteten Projekte zu erstellen.
Dadurch wird ein Projekt mit den Befehlszeilen "Erstellen", "Neu erstellen" und "Bereinigen" erstellt, in denen Sie MSBuild direkt ausführen können. Beispielsweise:
Wiederaufbau: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean,Build
Bauen: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Build
Reinigen: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean
Sie können auch mehrere MSBuild.EXE-Befehlszeilen angeben, um mehrere Projekte zu erstellen. Für das übliche Ergebnis der Erstellung der gesamten Lösung können Sie nur die endgültigen Endbaugruppen als Ziel festlegen und das Abhängigkeitsdiagramm die einzelnen Ziele generieren lassen.
Dadurch wird eine .log-Datei erstellt, in der NAME der Name des von Ihnen verwendeten NMake-Projekts ist. Im obigen Beispiel wäre das Protokoll make.log.
Ein funktionierendes Beispiel ist auf GitHub verfügbar:
https://github.com/bitblitz/VS_MsbuildExample
(getestet mit VS2015)
Beachten Sie, dass das direkte Erstellen einzelner Projekte weiterhin mit dem normalen VS-Verhalten erstellt wird. Sie können jedoch die vollständige Lösung in VS erstellen und die Erstellungsprotokolle abrufen.