What problem does it solve?
This Skill identifies when multiple MSBuild evaluations write to the same OutputPath or IntermediateOutputPath, which commonly causes file-collision errors, “file in use” issues, or intermittent build failures.
Core Features & Use Cases
- Diagnose OutputPath clashes by replaying an MSBuild binary log and grouping evaluations by OutputPath-related properties.
- Diagnose IntermediateOutputPath clashes by including restore-phase evaluations where NuGet writes project.assets.json into the intermediate output path.
- Handle common root causes including multi-targeting without TargetFramework in output paths, shared BaseIntermediateOutputPath/obj directories across projects, multi-solution builds, and extra global properties that create redundant project instances.
- Use-case example: When a multi-project .NET solution fails with “Cannot create a file when that file already exists” during restore/build, this Skill helps confirm whether multiple projects/TFMs share the same intermediate directory and shows exactly which evaluations are responsible.
Quick Start
Generate an MSBuild binlog, replay it to a diagnostic text log, then compare OutputPath and IntermediateOutputPath across evaluations to locate the conflicting directory groups.