check-bin-obj-clash

Detect MSBuild projects with conflicting OutputPath or IntermediateOutputPath settings from build logs.

5.1k|377|Updated Feb 3, 2026
One-click install
npx skills add https://github.com/dotnet/skills --skill check-bin-obj-clash-dotnet
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: check-bin-obj-clash
Source: https://github.com/dotnet/skills/tree/main/plugins/dotnet-msbuild/skills/check-bin-obj-clash
Command: npx skills add https://github.com/dotnet/skills --skill check-bin-obj-clash-dotnet

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill helps developers diagnose and resolve build failures caused by multiple MSBuild projects writing to the same output directories, preventing errors like file access conflicts and corrupted build artifacts.

Core Features & Use Cases

  • Conflict Detection: Identifies when OutputPath or IntermediateOutputPath are shared across project evaluations.
  • Root Cause Analysis: Pinpoints whether clashes stem from multi-targeting, multiple solution builds, or redundant project evaluations due to extra global properties.
  • Use Case: When a build fails with Cannot create a file when that file already exists during NuGet restore, this skill analyzes the build log to find the specific projects and configurations causing the project.assets.json file to be overwritten.

Quick Start

Analyze the build log file 'full.log' to identify any conflicting output paths between MSBuild projects.

Frequently Asked Questions about check-bin-obj-clash

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

FAQPage Schema
Why does my MSBuild parallel build fail with file access conflicts?

MSBuild parallel build file access conflicts often occur when multiple projects share the same OutputPath or IntermediateOutputPath. Analyzing diagnostic build logs helps pinpoint the specific global properties and shared directories causing these clashes.

How do I diagnose NuGet restore errors related to overwriting project.assets.json?

To diagnose NuGet restore errors overwriting project.assets.json, parse your build logs to identify conflicting output directories. Multiple solution evaluations or redundant project builds cause these file access conflicts during restoration.

What causes intermittent MSBuild build failures from multiple solution evaluations?

Intermittent MSBuild build failures from multiple solution evaluations are caused by redundant project evaluations with extra global properties. These redundant evaluations clash when writing to shared output directories, creating corrupted build artifacts.

How do I find conflicting OutputPath settings in a dotnet build log?

Finding conflicting OutputPath settings in a dotnet build log requires parsing diagnostic logs to detect shared output directories. This identifies the specific projects and configurations causing multi-targeting or parallel build clashes.

Can I use a log analyzer to detect MSBuild intermediate output path clashes?

Yes, you can analyze a diagnostic log file to detect MSBuild IntermediateOutputPath clashes. The analysis identifies shared intermediate directories and the extra global properties causing redundant project evaluations.

What is the best way to resolve MSBuild output path conflicts in multi-targeting builds?

The best way to resolve MSBuild output path conflicts in multi-targeting builds is to analyze diagnostic logs to identify shared directories. This isolates the specific global properties causing multiple solution evaluations to overwrite build artifacts.