resolve-project-references

Interpret ResolveProjectReferences timing in MSBuild performance summaries.

2|Updated Mar 17, 2026
One-click install
npx skills add https://github.com/sayedihashimi/copilot-skill-eval --skill resolve-project-references
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: resolve-project-references
Source: https://github.com/sayedihashimi/copilot-skill-eval/tree/main/examples/aspnet-razor-pages/plugins/dotnet-skills/dotnet-msbuild/skills/resolve-project-references
Command: npx skills add https://github.com/sayedihashimi/copilot-skill-eval --skill resolve-project-references

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

ResolveProjectReferences time in MSBuild diagnostics can be misleading when it appears as the largest target because it includes waiting for dependent projects. This skill teaches how to interpret that time and focus on the true self-time to identify real bottlenecks.

Core Features & Use Cases

  • Interpret when ResolveProjectReferences appears as a major time sink and understand that it may mainly reflect build waiting for other projects.
  • Guide users to rely on Task Performance Summary to measure actual work, and to examine self-time of tasks such as Csc, ResolveAssemblyReference, and Copy for optimization opportunities.
  • Provide actionable guidance for MSBuild performance tuning to avoid direct optimization of ResolveProjectReferences.

Quick Start

Review the Task Performance Summary alongside the Target Performance Summary to locate where time is spent and apply the guidance to optimize the actual work rather than waiting.

Frequently Asked Questions about resolve-project-references

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

FAQPage Schema
Why does ResolveProjectReferences show up as the most expensive target in MSBuild diagnostics?

ResolveProjectReferences appears as the most expensive MSBuild target because it includes time spent waiting for dependent projects to finish building. This waiting time inflates the target's duration, making it look like a bottleneck when it is simply blocking on upstream project builds.

How do I find the real build bottleneck when MSBuild Target Performance Summary is misleading?

To find the real build bottleneck, review the MSBuild Task Performance Summary instead of the Target Performance Summary. Examine the self-time of individual tasks like Csc, ResolveAssemblyReference, and Copy to identify where actual compilation and file operations consume resources.

What is the difference between target time and task self-time in MSBuild performance summaries?

Target time in MSBuild includes time spent waiting for other targets and dependent projects, whereas task self-time measures only the actual execution work of the task itself. Focusing on task self-time reveals the true computational cost of build operations.

Should I try to optimize ResolveProjectReferences directly if it takes the longest time in my dotnet build?

You should not optimize ResolveProjectReferences directly because its high duration usually reflects waiting for dependent projects, not inefficient code. Optimize the self-time of underlying tasks like Csc or Copy across your solution to achieve actual build speed improvements.

When should I look at the Task Performance Summary instead of the Target Performance Summary in MSBuild?

Look at the Task Performance Summary when ResolveProjectReferences dominates the Target Performance Summary. Switching to task-level metrics helps you bypass project waiting times and pinpoint actual resource-intensive operations like Csc, ResolveAssemblyReference, and Copy.