Skip to content

Directory.Packages.props

View on GitHub ยท Raw

<!-- dotnet-awesome-humans template | targets: net10.0 | last-reviewed: 2026-09-13 | last-used: 2026-09-24 | sources: ms-learn, dotnet-blog, meziantou -->
<!-- Central Package Management: every PackageReference in the repo takes its version from here. -->
<!-- Versions verified against nuget.org (latest stable) on 2026-09-13; refresh via the refresh-dotnet-versions skill. -->
<Project>

  <PropertyGroup>
    <ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
    <CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
  </PropertyGroup>

  <ItemGroup Label="Framework extensions">
    <PackageVersion Include="Microsoft.Extensions.Caching.Hybrid" Version="10.10.0" />
    <PackageVersion Include="Microsoft.Extensions.Validation" Version="10.0.12" />
    <PackageVersion Include="Asp.Versioning.Http" Version="10.2.3" />
    <PackageVersion Include="Asp.Versioning.Mvc.ApiExplorer" Version="10.2.1" />
    <PackageVersion Include="Asp.Versioning.OpenApi" Version="10.2.3" />
  </ItemGroup>

  <ItemGroup Label="Analyzers">
    <PackageVersion Include="Meziantou.Analyzer" Version="3.0.257" />
  </ItemGroup>

  <!-- No Microsoft.Testing.Platform entry: xunit.v3 carries its own compatible
       version, and pinning MTP separately overrides it via transitive pinning and
       fails at runtime with a TypeLoadException (opinions/testing.md). The risk is higher
       since xunit.v3 4.0.0, which dropped MTP v1 and defaults to v2. -->
  <ItemGroup Label="Testing">
    <PackageVersion Include="bunit" Version="2.11.3" />
    <PackageVersion Include="Meziantou.Framework.SnapshotTesting" Version="3.1.8" />
    <!-- WebApplicationFactory<T> for integration tests and FakeTimeProvider for
         deterministic time: opinions/testing.md mandates both, so both need a pin here.
         Without one, a consumer who copies these templates and follows the opinion hits
         NU1010 on restore, because CPM leaves a bare PackageReference with no version. -->
    <PackageVersion Include="Microsoft.AspNetCore.Mvc.Testing" Version="10.0.12" />
    <PackageVersion Include="Microsoft.Extensions.TimeProvider.Testing" Version="10.10.0" />
    <PackageVersion Include="xunit.v3" Version="4.0.1" />
    <!-- A Native AOT test lane references xunit.v3.aot.mtp-v2 in place of xunit.v3
         (opinions/testing.md). Keep the two on the same version. -->
    <PackageVersion Include="xunit.v3.aot.mtp-v2" Version="4.0.1" />
  </ItemGroup>

</Project>