105

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

这是日志记录的配置:

在此处输入图像描述

4

4 回答 4

110

仅 C++ 项目支持来自 Visual Studio 的日志文件。您只需要使用其他人的输出窗口即可。

看到这个类似的线程:VS2010: minimum build log in output and detail log in log file

如果您碰巧为 C++ 项目执行此操作,文件位于

... 中间文件目录中的构建日志 ... 构建日志的路径和名称由 MSBuild 宏表达式表示,$(IntDir)\$(MSBuildProjectName).log.

于 2012-07-17T19:22:15.613 回答
28

使用构建输出而不是记录到文件。无需复制/粘贴,只需单击输出中的某处并按 CTRL + S 即可保存。Visual Studio 将提示您输入位置(使用 Visual Studio 2017 测试,但我假设这在早期版本中也适用)。

在此处输入图像描述

于 2018-05-24T08:54:55.610 回答
24

msdn 文档对此非常清楚(而且您不会喜欢它!):

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

它在哪里说:

为托管代码项目创建构建日志文件 在菜单栏上,选择“构建”、“构建解决方案”。

在“输出”窗口中,突出显示构建中的信息,然后将其复制到剪贴板。

打开文本编辑器,例如记事本,将信息粘贴到文件中,然后保存。

于 2016-10-06T18:16:09.020 回答
2

虽然 VS 确实不允许直接这样做,但仍然可以使用“内部”VS2015 的 MSBuild 进行构建,并获取构建窗口输出和日志文件,如下所示:(可以说这是一个 hack。)

  1. 在您的 VS 托管解决方案中,添加一个新项目(我们称之为“制作”)。一种。您想要的项目类型是 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 中构建完整的解决方案并获取构建日志。

于 2017-07-16T21:22:56.483 回答