resolve-project-references

Diagnoses misleading ResolveProjectReferences time in MSBuild performance summaries and redirects to task self-time analysis.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/Netcodr81/kinetic-reports --skill resolve-project-references-netcodr81
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: resolve-project-references
Source: https://github.com/Netcodr81/kinetic-reports/tree/main/.github/skills/resolve-project-references
Command: npx skills add https://github.com/Netcodr81/kinetic-reports --skill resolve-project-references-netcodr81

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? MSBuild Target Performance Summaries often show ResolveProjectReferences as the most expensive target, consuming 50-80% of build time. Developers who try to optimize it directly waste effort, because the reported time is wall-clock wait time for dependent projects, not actual CPU work. ## Core Features & Use Cases - Misleading Metric Detection: Confirms when ResolveProjectReferences appears as the top target in the Target Performance Summary and explains why the number is inflated by node-yield wait time (dotnet/msbuild#3135). - Task Self-Time Redirection: Guides users to the Task Performance Summary to find the real bottleneck, using the binlog MCP expensive_tasks tool or a text-log replay fallback with grep. - Use Case: A developer sees ResolveProjectReferences taking 70% of build time and starts refactoring project dependencies. This Skill stops that misguided effort and points them to the true culprit, such as Csc, ResolveAssemblyReference, or Copy tasks. ## Quick Start Analyze my build.binlog performance summary and tell me whether ResolveProjectReferences is the real bottleneck or which task I should actually optimize.

Frequently Asked Questions about resolve-project-references

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
Why is ResolveProjectReferences taking so long in my MSBuild log?▼

ResolveProjectReferences time is mostly wall-clock wait time while the MSBuild node is yielded waiting for dependent projects to build, not actual CPU work. The target itself does very little work, so the reported number is misleading.

How do I find the real build bottleneck in MSBuild?▼

Use the Task Performance Summary instead of the Target Performance Summary to see task self-time. The binlog MCP expensive_tasks tool gives rankings directly from a binlog, or replay the binlog to a diagnostic text log and grep for the Task Performance Summary section.

Should I optimize ResolveProjectReferences to speed up my build?▼

No. Optimizing ResolveProjectReferences directly is misguided because its reported time includes waiting for dependent project builds. Identify the true bottleneck task such as Csc, ResolveAssemblyReference, or Copy and optimize that instead.

What inputs do I need to analyze MSBuild target performance?▼

You need a diagnostic build log or binlog containing the Target Performance Summary. Capture a binlog during your build, then use the binlog MCP server or replay it with dotnet msbuild to generate a full diagnostic log with performance summaries.

When should I use build-perf-diagnostics instead of this analysis?▼

Use build-perf-diagnostics for general build performance optimization or when the bottleneck is clearly a different target like Csc or ResolveAssemblyReference. This Skill only applies when ResolveProjectReferences appears as the top target and someone is trying to optimize it directly.