web-dev-qa-db-ja.com

MSBuildログのデフォルトの場所は何ですか?

Visual Studio Express 2012を使用しています。ログファイルの場所はどこですか?ソリューションとプロジェクトが保存されているフォルダーを検索しましたが、.logファイルが見つかりません。

これは、ロギングの構成です。

enter image description here

90
Hanxue

Visual StudioのログファイルはC++プロジェクトでのみサポートされます。作業する必要があるのは他のユーザーの出力ウィンドウ

この類似のスレッドを参照してください: VS2010:出力の最小ビルドログとログファイルの詳細ログ

また、C++プロジェクトでこれを行う場合、 ファイルは

...中間ファイルディレクトリのビルドログ...ビルドログのパスと名前は、MSBuildマクロ式$(IntDir)\$(MSBuildProjectName).logで表されます。

94
Dmitry Pavlov

Msdnのドキュメントはこれについてかなり明確です(そして、あなたはそれを好まないでしょう!):

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

それが言うところ:

マネージコードプロジェクトのビルドログファイルを作成するにはメニューバーで、[ビルド]、[ソリューションのビルド]の順に選択します。

[出力]ウィンドウで、ビルドからの情報を強調表示し、クリップボードにコピーします。

メモ帳などのテキストエディターを開き、ファイルに情報を貼り付けて保存します。

19
C Johnson

ファイルにログを記録する代わりにビルド出力を使用します。コピー/貼り付けの代わりに、出力のどこかをクリックし、CTRL + Sを押して保存します。 Visual Studioは場所の入力を要求します(Visual Studio 2017でテスト済みですが、これは以前のバージョンでも機能すると想定しています)。

enter image description here

16
danglund

VSがこれを直接許可しないのは事実ですが、次のように、MSBuildの「内部」VS2015でビルドし、ビルドウィンドウの出力とログファイルの両方を取得することは可能です(おそらくこれはちょっとしたハックです)。

  1. VS Managedソリューションで、新しいプロジェクトを追加します(「Make」と呼びましょう)。 a。必要なプロジェクトの種類は、Visual C++/NMakeプロジェクトです。
  2. 必要なMSBuildコマンドをコマンドラインで定義します(以下を参照)。
  3. ソリューション構成を変更して、通常の管理対象プロジェクトではなくNMakeプロジェクトをビルドします。

これにより、Build、Rebuild、およびCleanコマンドラインを持つプロジェクトが作成され、MSBuildを直接実行できます。例えば:

再構築:MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean,Build

ビルド:MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Build

掃除: MSBuild.exe /ds /v:diag /property:Configuration=Debug ..\BuildTest\BuildTest.csproj /t:Clean

複数のプロジェクトをビルドするために、複数のMSBuild.EXEコマンドラインを指定することもできます。通常のソリューション全体のビルドの結果については、最終エンドアセンブリのみをターゲットに設定し、依存関係グラフに個々のターゲットを生成させることができます。

これにより、.logファイルが生成されます。NAMEは、使用したNMakeプロジェクトの名前です。上記の例では、ログはmake.logになります。

GitHubで動作する例が利用可能です: https://github.com/bitblitz/VS_MsbuildExample (VS2015でテスト済み)

個々のプロジェクトを直接ビルドすると、通常のVSの動作でビルドされますが、VS内で完全なソリューションをビルドし、ビルドログを取得できます。

1
Brad