MSBuild 日志的默认位置是什么?

我正在使用 VisualStudioExpress2012。日志文件的位置在哪里?我在存储解决方案和项目的文件夹中进行了搜索,但是找不到任何解决方案和项目。日志文件。

这是用于日志记录的配置:

enter image description here

64041 次浏览

Log file from Visual Studio is only supported for C++ projects. You just have to work with the output window for others.

See this similar thread: VS2010: minimal build log in output and detailed log in log file

And in case you happen to do this for a C++ project, the file is at:

... build log in the intermediate files directory ... The path and name of the build log is represented by the MSBuild macro expression, $(IntDir)\$(MSBuildProjectName).log.

The msdn documentation is pretty clear about this (And you ain't gonna like it!):

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

Where it says:

To create a build log file for a managed-code project On the menu bar, choose Build, Build Solution.

In the Output window, highlight the information from the build, and then copy it to the Clipboard.

Open a text editor, such as Notepad, paste the information into the file, and then save it.

While it's true that VS doesn't allow this directly, it is still possible to build with MSBuild "inside" VS2015 and get both the build window output and the log file, as follows: (Arguably this is a bit of a hack.)

  1. In your VS Managed solution, add a new project (Let's call it 'Make'). a. The project type you want is Visual C++/NMake project.
  2. Define the MSBuild commands you need on the command line (see below).
  3. Change the solution configuration to build the NMake project instead of the normal managed projects.

This will create a project that has Build, Rebuild, and Clean command lines where you can execute MSBuild directly. For example:

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

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

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

You can also specify multiple MSBuild.EXE command lines in order to build multiple projects. For the usual build-the-entire-solution outcome you can target only the final end assemblies and let the dependency graph generate the individual targets.

This will produce a .log file, where NAME is the name of the NMake project you used. In the example above, the log would be make.log.

A working example is available on GitHub: https://github.com/bitblitz/VS_MsbuildExample (Tested with VS2015)

Note that building individual projects directly will still build with the normal VS behavior, but you can build the full solution inside VS and get the build logs.

Use build output instead of logging to file. Instead of copy/paste, simply click somewhere in the output and press CTRL + S to save. Visual Studio will prompt you for a location (tested with Visual Studio 2017, but I'm assuming this works in earlier versions too).

enter image description here