SuperAPI AI 工具集

binlog-generation

测试与质量

查看项目

更新于 10-16 00:04

技能介绍

用途:为所有基于 MSBuild 的 .NET 命令生成二进制日志(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:{}'。每次 MSBuild 调用单独添加 /bl:{},不要复用名称,也不要使用裸 /bl(会覆盖同一个 msbuild.binlog)。

验证与命名:构建后确认生成了 .binlog 文件(bash 用 ls -1 *.binlog,Windows cmd 用 dir /b *.binlog,PowerShell 用 Get-ChildItem *.binlog)。若需固定文件名(如 CI 上传产物)或 MSBuild 版本不支持 {},先检查目录中已有 *.binlog,选择不冲突的名称,例如已有 3.binlog 则用 dotnet build /bl:4.binlog。

清理注意:使用 git clean 时排除 binlog 文件以保留构建历史,例如 git clean -fdx -e "*.binlog"。

限制:构建在 MSBuild 启动前失败(如参数错误)不会生成 binlog;{} 占位符依赖较新版本 MSBuild/.NET SDK。其余细节暂未提供。