VS2010:输出中的最小构建日志和日志文件中的详细日志

Ger*_*ard 8 msbuild logging visual-studio-2010

在Visual Studio 2010中,我们在"工具|选项|项目和解决方案|构建和运行"(在Internet上找不到正确的图像)下有两个用于记录MSBuild的选项:

'MSBuild项目构建输出详细程度'和'MSBuild项目构建日志详细程度'.

所以我希望能够在Visual Studio devenv(正确)中的输出视图中获得最小的构建日志,同时在某个日志文件中创建详细的构建日志.

我找不到配置要显示的构建日志文件的方法.

注意:我不想配置自己的MSBuild.

Say*_*imi 16

只有C++项目才支持Visual Studio的日志文件.您只需要为其他人使用输出窗口.

  • 这应该更加明显. (6认同)

Rub*_*ink 11

http://msdn.microsoft.com/en-us/library/b0bktkzs.aspx说:

检查中间文件目录中的构建日志以查看实际执行的内容.构建日志的路径和名称由MSBuild宏表达式$(IntDir)\ $(MSBuildProjectName).log表示.

[最简单的方法是进行项目|显示所有文件,然后转到解决方案资源管理器并右键单击以在Windows资源管理器中打开文件夹]

编辑:安抚我们不满的-1er ...你可以明显地推断出你可以添加一个<Execute Command="notepad.exe $(IntDir)\$(MSBuildProjectName).log"/>或类似的,如果它需要字面上弹出,但这对我没有意义.

编辑2:示例.编辑.csproj文件,并在部分中

<!-- To modify your build process, add your task inside one of the targets below and uncomment it. 
   Other similar extension points exist, see Microsoft.Common.targets.
Run Code Online (Sandbox Code Playgroud)

- >

将其更改为:

<Target Name="AfterBuild">
    <Exec Command="notepad.exe $(IntDir)\$(MSBuildProjectName).log" />
</Target>
Run Code Online (Sandbox Code Playgroud)

原因我没有把它扩展出来,这会让人很烦恼.您可以放置​​:

notepad.exe $(IntDir)\$(MSBuildProjectName).log
Run Code Online (Sandbox Code Playgroud)

在Post Build步骤中.这会稍微好一点,因为它只会在编译实际完成某些操作时触发.

BTW强烈推荐获取Hashimi书 - 它使所有这些东西显而易见,并让你给出答案,假设它直截了当:P