Microsoft.Extensions.ApiDescription.Client-paketet är inaktuellt

NuGet-paketet Microsoft.Extensions.ApiDescription.Client har blivit inaktuellt. Paketet tillhandahöll MSBuild-mål och CLI-stöd som genererade OpenAPI-baserad klientkod under bygget. Projekt som refererar till paketet får nu en varning under bygget.

Version lanserad

.NET 10 Förhandsversion 7

Tidigare beteende

Projekt kan lägga till <PackageReference Include="Microsoft.Extensions.ApiDescription.Client" ... /> och <OpenApiReference> objekt (eller köra dotnet openapi) för att generera strikt typade klienter under byggprocessen.

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net10.0</TargetFramework>
  </PropertyGroup>

  <ItemGroup>
    <PackageReference Include="Microsoft.Extensions.ApiDescription.Client" Version="8.0.0" />
  </ItemGroup>

  <ItemGroup>
    <OpenApiReference Include="swagger.json" />
  </ItemGroup>
</Project>

Nytt beteende

Paketet är nu inaktuellt och projekt som refererar till det får byggvarningar. MSBuild-målen och CLI-kommandona stöds inte längre.

Typ av brytande ändring

Den här ändringen kan påverka källkompatibilitet.

Orsak till ändring

  • Paketet har sett minimala uppdateringar och underhåll sedan det introducerades.
  • Dess abstraktioner var tätt kopplade till vissa generatorer och skalades inte bra till andra. Varje generator levererar nu sin egen CLI/konfigurationsupplevelse, vilket gör MSBuild-mellanskiktet redundant.
  • Att ta bort paketet minskar underhållsbelastningen och klargör det rekommenderade arbetsflödet för klientgenerering.
  • Ta bort alla <PackageReference Include="Microsoft.Extensions.ApiDescription.Client" … /> från projektet.
  • Ersätt <OpenApiReference> objekt eller dotnet openapi kommandon med generatorspecifika verktyg:
    • NSwag – Använd npx nswag eller dotnet tool run nswag med en .nswag konfigurationsfil.
    • Kiota – Installera med dotnet tool install -g Microsoft.OpenApi.Kiota och kör kiota generate.
    • OpenAPI-generator – Anropa openapi-generator-cli via JAR eller Docker.
  • Gör en commit av den genererade klientkoden eller kör genereringen i en anpassad pre-build process som inte förlitar sig på det borttagna paketet.

Berörda API:er

  • MSBuild-objekt OpenApiReference (alla instanser).
  • MSBuild-egenskapen OpenApiProjectReference.
  • CLI-kommando dotnet openapi.