From dotnet-msbuild
Explains misleading ResolveProjectReferences times in MSBuild/.NET performance summaries as wait times for dependencies, guiding users to task self-time for true bottlenecks.
npx claudepluginhub dotnet/skills --plugin dotnet-msbuildThis skill uses the workspace's default tool permissions.
Prevent misguided optimization of `ResolveProjectReferences` by explaining that its reported time is wall-clock wait time, not CPU work.
Provides Ktor server patterns for routing DSL, plugins (auth, CORS, serialization), Koin DI, WebSockets, services, and testApplication testing.
Conducts multi-source web research with firecrawl and exa MCPs: searches, scrapes pages, synthesizes cited reports. For deep dives, competitive analysis, tech evaluations, or due diligence.
Provides demand forecasting, safety stock optimization, replenishment planning, and promotional lift estimation for multi-location retailers managing 300-800 SKUs.
Prevent misguided optimization of ResolveProjectReferences by explaining that its reported time is wall-clock wait time, not CPU work.
ResolveProjectReferences appears as the most expensive target in the Target Performance SummaryResolveProjectReferences directlybuild-perf-diagnostics instead)Csc, ResolveAssemblyReference)| Input | Required | Description |
|---|---|---|
| Build log or binlog | Yes | A diagnostic build log or binlog containing the Target Performance Summary |
Verify that ResolveProjectReferences appears as the top target in the Target Performance Summary. This is the misleading metric.
The reported time includes waiting for dependent projects to build while the MSBuild node is yielded (see dotnet/msbuild#3135). During this wait, the node may be doing useful work on other projects. The target itself does very little work.
Guide the user to use the Task Performance Summary instead:
dotnet msbuild build.binlog -noconlog -fl "-flp:v=diag;logfile=full.log;performancesummary"
grep "Task Performance Summary" -A 50 full.log
Focus on self-time of actual tasks:
build-perf-diagnostics skill (Section 2: Roslyn Analyzers)build-perf-diagnostics skill (Section 1: RAR)build-perf-diagnostics skill (Section 4: File I/O)build-parallelism skillResolveProjectReferences was not set as the optimization targetCsc, Copy, ResolveAssemblyReference) was identified as the true bottleneck