What problem does it solve?
Working at the MSBuild-SDK boundary is error-prone: import ordering bugs, restore/build evaluation conflicts, and project-reference protocol changes span multiple repos (MSBuild, SDK, NuGet, Roslyn), and mistakes cause subtle build failures that are hard to diagnose.
Core Features & Use Cases
- Evaluation Order Guidance: Explains MSBuild's import order (Sdk.props, Directory.Build.props, project file, Directory.Build.targets, Sdk.targets) and how to author SDK defaults that respect user overrides.
- Target Authoring Patterns: Covers extension points like BuildDependsOn, CompileDependsOn, PublishDependsOn, and PackDependsOn, plus rules for DependsOnTargets, incremental build Inputs/Outputs, and multi-targeting behavior.
- Cross-Repo Coordination: Describes the protocol for landing changes across MSBuild, SDK, and NuGet, including design-time build contracts for Visual Studio.
- Use Case: When a property has the wrong value at build time, use the import-ordering rules and the common integration bugs table to determine whether an SDK default is clobbering a user-specified setting.
Quick Start
Ask the AI to review your custom SDK target for correct DependsOnTargets ordering and conditional property defaults before committing it to the dotnet/sdk repo.