用途:指导在 .NET 仓库中集中组织 MSBuild 构建基础设施,减少各 .csproj 的重复配置。
主要能力:区分 Directory.Build.props 与 Directory.Build.targets 的导入时机(props → SDK props → 项目 → SDK targets → targets),props 适合属性默认值、公共项、程序集/包元数据、分析器;targets 适合自定义目标、后绑定属性覆盖、构建后校验。Directory.Packages.props 启用中央包管理(ManagePackageVersionsCentrally),集中声明 PackageVersion,并用 GlobalPackageReference 全局引入分析器。Directory.Build.rsp 提供默认 MSBuild CLI 参数,如 /maxcpucount、/nodeReuse:false。
使用方式:在仓库根创建上述文件;多级目录需在内层文件顶部用 GetPathOfFileAbove 显式导入父级;可在 props 中设置 ArtifactsPath 统一输出目录。验证用 dotnet restore && dotnet build,诊断用 dotnet msbuild -pp:output.xml。
限制:MSBuild 只自动导入向上查找的第一个 Directory.Build.props/targets;单目标项目在 props 阶段 $(TargetFramework) 为空,TFM 条件属性应放 targets;文件名大小写需精确匹配。