wake-up-neo.com

Was ist der Standardspeicherort für MSBuild-Protokolle?

Ich verwende Visual Studio Express 2012. Wo befindet sich der Speicherort der Protokolldatei? Ich habe in dem Ordner gesucht, in dem meine Projektmappe und meine Projekte gespeichert sind, kann jedoch keine .log-Datei finden.

Dies ist die Konfiguration für die Protokollierung:

enter image description here

90
Hanxue

Die Protokolldatei von Visual Studio wird nur für C++ - Projekte unterstützt. Sie müssen nur mit dem Ausgabefenster für andere arbeiten .

Siehe diesen ähnlichen Thread: VS2010: minimale Build-Log-In-Ausgabe und detaillierte Log-In-Log-Datei

Und falls Sie dies für ein C++ - Projekt tun, die Datei befindet sich auf :

... Erstellungsprotokoll im Zwischendateiverzeichnis ... Der Pfad und der Name des Erstellungsprotokolls werden durch den MSBuild-Makroausdruck $(IntDir)\$(MSBuildProjectName).log dargestellt.

94
Dmitry Pavlov

Die MSDN-Dokumentation ist ziemlich klar darüber (und Sie werden es nicht mögen!):

https://msdn.Microsoft.com/en-us/library/jj651643.aspx

Wo steht:

So erstellen Sie eine Erstellungsprotokolldatei für ein Projekt mit verwaltetem Code Wählen Sie in der Menüleiste Erstellen, Lösung erstellen aus.

Markieren Sie im Ausgabefenster die Informationen aus dem Build und kopieren Sie sie in die Zwischenablage.

Öffnen Sie einen Texteditor, z. B. Editor, fügen Sie die Informationen in die Datei ein und speichern Sie sie.

19
C Johnson

Verwenden Sie die Build-Ausgabe, anstatt in einer Datei zu protokollieren. Anstatt zu kopieren oder einzufügen, klicken Sie einfach irgendwo in die Ausgabe und drücken Sie STRG + S, um sie zu speichern. Visual Studio fordert Sie zur Eingabe eines Speicherorts auf (getestet mit Visual Studio 2017, aber ich gehe davon aus, dass dies auch in früheren Versionen funktioniert).

enter image description here

16
danglund

Obwohl es stimmt, dass VS dies nicht direkt zulässt, ist es dennoch möglich, mit MSBuild "in" VS2015 zu erstellen und sowohl die Ausgabe des Erstellungsfensters als auch die Protokolldatei wie folgt abzurufen:

  1. 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.
  2. Definieren Sie die benötigten MSBuild-Befehle in der Befehlszeile (siehe unten).
  3. Ändern Sie die Lösungskonfiguration, um das NMake-Projekt anstelle der normalen verwalteten Projekte zu erstellen.

Dadurch wird ein Projekt mit den Befehlszeilen Build, Rebuild und Clean erstellt, in dem Sie MSBuild direkt ausführen können. Beispielsweise:

Rebuild: 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 Gesamtlö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, wobei 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.

1
Brad