SuperAPI AI 工具集

resolve-project-references

编程与开发

查看项目

更新于 10-16 00:05

技能介绍

用途:当 MSBuild 的 Target Performance Summary 中 ResolveProjectReferences 显示为最昂贵目标时,本技能用于解释该指标具有误导性,防止开发者对其做无效优化。

主要能力:说明 ResolveProjectReferences 报告的时间包含等待依赖项目构建、MSBuild 节点让出(yield)期间的墙钟等待时间,该目标本身工作量很小;引导用户改用 Task Performance Summary 定位真实瓶颈。

使用方式:先确认 ResolveProjectReferences 出现在目标性能摘要首位;再解释其时间为何误导;最后转向任务自身耗时。首选 binlog MCP 的 expensive_tasks 工具直接获取任务自身耗时排名。MCP 不可用时回退到文本日志重放:dotnet msbuild build.binlog -noconlog -fl "-flp:v=diag;logfile=full.log;performancesummary",再用 grep "Task Performance Summary" -A 50 full.log 查看。关注 Csc、ResolveAssemblyReference、Copy 等实际任务的自耗时,序列化瓶颈可参考 build-parallelism 技能。

适用场景:目标性能摘要中单一目标占用总构建时间 50-80%、开发者试图直接优化 ResolveProjectReferences 时。

限制:不适用于通用构建性能优化(应使用 build-perf-diagnostics);瓶颈明显是其他目标(如 Csc、ResolveAssemblyReference)时不适用;用户尚未捕获 binlog 或性能摘要时不适用。输入需要包含目标性能摘要的诊断构建日志或 binlog。