用途:为所有基于 MSBuild 的命令生成二进制日志(binlog),用于构建诊断与分析。
主要能力:通过 /bl 开关让 MSBuild 输出 binlog,便于失败分析、构建前后对比,无需为生成日志而重跑失败的构建。
必要用法:必须在 dotnet build、dotnet test、dotnet pack、dotnet publish、dotnet restore、msbuild 或 msbuild.exe,以及任何调用 MSBuild 的命令上添加 /bl:{}。推荐使用 {} 占位符自动生成唯一文件名,需 MSBuild 17.8+ / .NET 8 SDK 或更高版本。示例:dotnet build /bl:{}、dotnet test /bl:{}、dotnet build --configuration Release /bl:{}。PowerShell 中需转义花括号:dotnet build -bl:{{}}、dotnet test -bl:{{}}。
指定文件名:若需预先知道文件名(如 CI 产物上传),或当前 MSBuild 版本不支持 {},应选择不与现有文件冲突的名称,先检查目录中已有的 *.binlog,再取未占用的名字,例如目录中已有 3.binlog 则用 dotnet build /bl:4.binlog。
清理仓库:使用 git clean 时始终排除 binlog 文件以保留构建历史,例如 git clean -fdx -e "*.binlog";直接 git clean -fdx 会删除这些文件。
限制:{} 占位符依赖 MSBuild 17.8+ / .NET 8 SDK 或更高版本;不带文件名的 /bl 会反复覆盖同一个 msbuild.binlog。其他细节暂未提供。