感谢 Vatsan Madhavan 小伙伴推荐的 MSBuild 输出日志可视化工具,这个工具可以使用漂亮的 WPF 界面预览 MSBuild 复杂的输出内容

这是一个完全开源的工具,请看 KirillOsenkov/MSBuildStructuredLog: A logger for MSBuild that records a structured representation of executed targets, tasks, property and item values.

这个工具的使用方法很简单,首先是在项目里面使用 MSBuild 命令加上 /bl 生成 msbuild.binlog 文件,如使用下面代码

msbuild /bl

从官网 MSBuild Log Viewer 下载最新版本

打开软件,将 msbuild.binlog 文件拖进去就可以显示日志的信息

另外这个工具还提供了 NuGet 库可以用来读取 binlog 文件

先安装 MSBuild.StructuredLogger 库,然后使用下面代码

using System;
using Microsoft.Build.Logging.StructuredLogger;

class BinaryLogReadBuild
{
    static void Main(string[] args)
    {
        string binLogFilePath = @"C:\temp\test.binlog";

        var buildRoot = BinaryLog.ReadBuild(binLogFilePath);
        buildRoot.VisitAllChildren<CscTask>(c => Console.WriteLine(c.CommandLineArguments));
    }
}

这个软件用到了特别漂亮的 TreeView 欢迎小伙伴抄样式


本文会经常更新,请阅读原文: https://dotnet-campus.github.io//post/MSBuild-%E8%BE%93%E5%87%BA%E6%97%A5%E5%BF%97%E5%8F%AF%E8%A7%86%E5%8C%96%E5%B7%A5%E5%85%B7-MSBuild-Structured-Log-Viewer-%E7%AE%80%E4%BB%8B.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名 lindexi (包含链接: https://dotnet-campus.github.io/ ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系