What problem does it solve? Multi-project .NET repositories accumulate duplicated properties, package versions, and build logic across every .csproj file, making updates error-prone and inconsistent. This Skill guides the centralization of shared build settings into Directory.Build files so each project file contains only what is unique to it. ## Core Features & Use Cases - Centralized Build Settings: Move shared properties (LangVersion, Nullable, TreatWarningsAsErrors, metadata) into Directory.Build.props and late-bound logic into Directory.Build.targets, with clear guidance on evaluation order. - NuGet Central Package Management: Set up Directory.Packages.props with ManagePackageVersionsCentrally, PackageVersion entries, and GlobalPackageReference for repo-wide analyzers. - Multi-Level Hierarchies & Pitfall Avoidance: Chain nested Directory.Build files with GetPathOfFileAbove and avoid the silent failure of $(TargetFramework) property conditions in .props files. - Use Case: A solution with 20 projects each repeating the same PropertyGroup and package versions is refactored into a root Directory.Build.props, Directory.Packages.props, and src/test-level overrides, leaving each .csproj with only its TargetFramework and unique references. ## Quick Start Ask the assistant to audit the .csproj files in this repository and centralize the duplicated build settings into Directory.Build.props and Directory.Packages.props.