1. 基本信息
| 项目 | 内容 | 数据来源 |
|---|---|---|
| 名称 | dotnet-msbuild(所属仓库自述名称为 “.NET Agent Skills”,与正式名称不一致,故单列记录) | GitHub API / 仓库 README |
| 作者/维护者 | Microsoft(dotnet/skills 官方仓库,.NET 团队维护) |
GitHub API |
| 来源链接 | https://github.com/dotnet/skills/tree/main/plugins/dotnet-msbuild | — |
| 许可证 | MIT License | GitHub API |
| GitHub Stars / Forks | 所属仓库 4888★ / 361 forks(注:该数字属整个技能合集,不代表本插件个体热度,仅供了解所属仓库规模) | GitHub API |
| 最新版本 | 插件自带 version.json,当前版本号 0.1;插件目录近 3 周内持续有功能性提交 |
仓库文件 / commit 历史 |
| 安装方式 | Claude Code / Codex CLI 插件市场一条命令安装(见第 10 章) | 仓库 README |
2. 功能介绍与亮点
dotnet-msbuild 是微软 .NET 团队官方出品的插件,属于 dotnet/skills 技能合集,专攻 MSBuild 构建系统,打包 18 个细粒度技能、3 个编排 agent,并附带一个独立的 Binlog MCP Server:
- 构建失败诊断:
binlog-generation引导正确生成二进制构建日志(binlog),binlog-failure-analysis据此定位多项目级联失败、追踪 MSBuild 目标执行顺序 - 构建性能优化:
build-perf-baseline建立性能基线,build-perf-diagnostics识别 7 类常见性能瓶颈(如程序集解析耗时过长、Roslyn 分析器占比过高、NuGet 每次都重新还原),build-parallelism、eval-performance、incremental-build分别处理并行度、评估阶段耗时、“明明没改却重新编译”等具体场景 - 构建文件质量与规范:
msbuild-antipatterns审查 .csproj/.props/.targets 中的反模式并给出“错误写法→正确写法”对照,check-bin-obj-clash定位多项目/多目标框架下 bin/obj 冲突,directory-build-organization指导 Directory.Build.props 体系的正确组织方式 - 现代化改造:
msbuild-modernization将老式 .csproj 迁移为 SDK 风格项目,target-authoring给出自定义 MSBuild Target 的规范写法
亮点:微软 .NET 官方博客于近日发文介绍配套的 Binlog MCP Server,将其定位为“用自然语言排查复杂构建日志”的工具,可在 Visual Studio 17.14+、VS Code、命令行等多环境中被 AI 助手自动发现;该发布同时被 InfoWorld 等技术媒体报道。每个 SKILL.md 都明确写出“适用场景”与“不适用场景”(如“仅诊断失败请用 A,若要生成 binlog 请先用 B”),技能之间边界清晰,减少 agent 误用。
3. 适用场景
固定分类:工程效率与代码质量(围绕“写代码/构建配置”本身的诊断、审查与改造,符合技术栈编码指南的判定)
- 遇到“构建失败但控制台输出看不出原因”、需要 agent 深挖二进制日志定位问题的 .NET 开发者
- 感觉构建越来越慢、想知道瓶颈具体在哪一步(还原、评估、编译、并行度)的团队
- 想审查团队 .csproj/Directory.Build.props 是否存在反模式、bin/obj 冲突等隐患的 .NET 项目维护者
- 计划把老式 .csproj 迁移到 SDK 风格、或想规范自定义 MSBuild Target 写法的开发者
4. 跨 Agent 兼容性
- Claude Code:原生支持——插件目录自带
.claude-plugin/plugin.json,/plugin marketplace add dotnet/skills后/plugin install dotnet-msbuild@dotnet-agent-skills一条命令安装 - Codex:原生支持——插件目录自带
.codex-plugin清单(含.mcp.json),仓库 README 专辟 “Codex CLI” 章节给出对应安装命令,且技能遵循 agentskills.io 开放标准 - OpenClaw:未验证——官方材料未提及,但技能遵循开放的 SKILL.md 目录结构,理论上可手动复制接入
- Hermes Agent:未验证——同上,官方材料未提及
(仅基于已抓取材料判断,未为兼容性单独发起搜索)
5. 推荐理由
构建失败和构建变慢是 .NET 日常开发里最耗时间、也最难对着控制台输出“猜”出原因的场景——二进制日志信息量极大,人工翻找往往比修 bug 本身还费时间。这组技能由 .NET 团队官方出品,把“生成日志→定位失败→分析性能瓶颈→审查项目文件反模式→现代化改造”整条链路打包成可执行技能,并配一个独立的 MCP Server 让 agent 能直接用自然语言查询二进制日志内容,而不必先学会读懂 Binlog Viewer。每个技能的适用边界写得极其清楚,避免 agent 在诊断、优化、审查之间用错工具。对经常被“为什么这个项目突然编译不过”“为什么每次都要重新编译整个项目”困扰的 .NET 团队,这是一条比手工翻日志更省心的路径。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 8 | 微软 .NET 团队官方出品;所属仓库 4888 stars / 361 forks 为整体数据,不代表本插件个体热度,但插件目录本身近 3 周内持续有多次功能性提交,配套 Binlog MCP Server 有官方 .NET 博客专文发布并被 InfoWorld 等技术媒体转载报道 |
| 可用性 | 8 | Claude Code / Codex 均一条命令安装;18 个 SKILL.md 均清晰标注“适用/不适用场景”;插件目录维护活跃(近 3 周内 6 次以上功能性提交);配套 MCP Server 目前处于预览阶段,需 MSBuild 17.8+ / .NET 8 SDK 及以上版本,存在一定环境门槛 |
| 安全性 | 8 | 见下方安全检查清单 |
| 综合评分 | 8.0 | 三项均值 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令执行 | 有——引导执行 dotnet build/test/pack/publish/restore 并附加 /bl 参数生成二进制日志,范围限于本地 .NET 项目的构建流程,用途明确可解释 |
| ② 运行时联网外发 | 配套 MCP Server 通过 dnx 从 NuGet.org 拉取官方包 Microsoft.AITools.BinlogMcp 运行,属官方发布的外部工具而非仓库本地代码,不涉及向第三方发送项目数据 |
| ③ API key/凭据 | 不需要——纯本地构建日志分析,不要求配置任何密钥 |
| ④ 可疑指令 | 未见——抽查的 binlog-failure-analysis、msbuild-antipatterns 等 SKILL.md 全文审阅未发现越权指令或 prompt injection 迹象 |
| ⑤ 作者/组织信誉 | 微软官方 .NET 团队(dotnet 官方组织账号),配套公告发布于 .NET 官方博客 |
| ⑥ License | MIT,清晰明确 |
| ⑦ 维护时间 | 插件目录近 3 周内持续有功能性提交,维护活跃 |
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 差异点 |
|---|---|---|
| dotnet-msbuild(本推荐) | 微软官方:MSBuild 构建失败诊断 + 性能优化 + 项目文件审查 + 现代化改造一体化,配独立 MCP Server 支持自然语言查询二进制日志 | 覆盖构建问题的全链路(生成日志→诊断→优化→审查→迁移),且诊断能力落在结构化的二进制日志而非console输出猜测 |
| dotnet-test(同仓库姊妹插件) | 微软官方:.NET 测试生成、执行、质量分析与覆盖率评估 | 聚焦“测试”这一件事,不涉及构建失败诊断或构建性能优化,与 dotnet-msbuild 互补而非重叠 |
| dotnet-upgrade(同仓库姊妹插件) | 微软官方:.NET 版本升级迁移(如 .NET 9→10→11、可空引用类型迁移) | 聚焦“跨版本迁移”这一件事,处理的是框架版本兼容性问题,不涉及构建日志分析或性能瓶颈定位 |
| MSBuild Structured Log Viewer(KirillOsenkov 出品,非 agent skill) | 独立 GUI 桌面工具,人工打开二进制日志逐层展开排查 | 需要人工亲自阅读日志树状结构定位问题,不具备 AI 自动诊断与自然语言问答能力,属于本技能配套 MCP Server 的“手动版前身” |
差异化总结:以上均围绕 MSBuild/.NET 构建生态,dotnet-msbuild 的特点是把“日志生成—失败诊断—性能优化—项目审查—现代化迁移”整条链路打包为一体化技能集,且配 MCP Server 让 agent 能直接查询日志而非要求开发者先学会读懂日志结构;dotnet-test、dotnet-upgrade 分别聚焦测试与版本迁移,MSBuild Structured Log Viewer 则是需要人工操作的传统 GUI 工具。
8. 用户评价
该技能配套的 Binlog MCP Server 已获官方与技术媒体公开报道:.NET 官方博客发文介绍其设计初衷与使用方式,InfoWorld 随后转载报道该发布。此外,.NET 团队工程师在 dotnet/sdk 仓库公开提出了把 dotnet/skills 插件通过 dotnet skill 命令直接暴露给 CLI 的设计提案,说明该技能体系已进入官方工具链的路线图讨论。目前该技能本身尚无第三方开发者的具名使用评价。
9. 其他补充
dotnet/skills 仓库还包含另外 14 个插件,覆盖 .NET 测试、版本升级迁移、ASP.NET Core Web 开发、Blazor、MAUI、EF Core 数据访问、NuGet 包管理、AI/ML 集成等场景,可按需单独安装,不必整包引入。仓库首页附带一个持续更新的效果评测看板,按插件分别追踪“装了该技能 vs 未装”的任务质量对比数据。
10. 安装使用方式
- Claude Code:
/plugin marketplace add dotnet/skills,再执行/plugin install dotnet-msbuild@dotnet-agent-skills,安装后重启会话以加载新插件 - Codex CLI:
codex plugin marketplace add dotnet/skills,进入插件面板浏览dotnet-agent-skills标签页安装 - 单个技能安装:
skill-installer install https://github.com/dotnet/skills/tree/main/plugins/dotnet-msbuild/skills/<skill-name>可只装某一个具体技能(如仅要 binlog-failure-analysis)而不装整个插件 - 手动方式:clone 仓库后把
plugins/dotnet-msbuild子目录复制到自己项目的技能目录
11. 注意事项
- 配套 Binlog MCP Server 官方标注为预览阶段,功能仍在持续调整中;使用二进制日志相关技能需 MSBuild 17.8+ / .NET 8 SDK 及以上版本
- 与 OpenClaw、Hermes Agent 的兼容性未经官方材料验证,实际效果建议自行测试
- 现代化改造、Target 编写等技能仅适用于 SDK 风格或计划迁移到 SDK 风格的 .NET 项目,使用前建议先看具体 SKILL.md 区分适用范围
- 插件目前无独立语义化版本号体系,长期跟踪更新时建议以 commit 历史为准