Dela via


Microsoft.AspNetCore.Http.Features split

Microsoft.AspNetCore.Http.Features har delats upp i följande två sammansättningar:

  • Microsoft.AspNetCore.Http.Features
  • Microsoft.Extensions.Features

För diskussion, se GitHub-ärende dotnet/aspnetcore#32307.

Version lanserad

ASP.NET Core 6.0

Gammalt beteende

Microsoft.AspNetCore.Http.Features 5.0 levereras både i det ASP.NET delade ramverket och som ett NuGet-paket. Microsoft.AspNetCore.Http.Features 5.0 riktade till .NET 4.6.1, .NET Standard 2.0 och .NET 5.

Nytt beteende

Microsoft.AspNetCore.Http.Features 6.0 levereras endast i det ASP.NET delade ramverket, inte som ett NuGet-paket. Den riktar sig endast mot .NET 6.

Microsoft.Extensions.Features 6.0 levereras i både det ASP.NET delade ramverket och som ett NuGet-paket. Den riktar sig till .NET 4.6.1, .NET Standard 2.0 och .NET 6.

Följande typer har flyttats till den nya sammansättningen Microsoft.Extensions.Features:

Dessa typer finns fortfarande iMicrosoft.AspNetCore.Http.Features-namnområdet och typomdirigeringar har lagts till för kompatibilitet.

Orsak till ändring

Den här ändringen infördes av två skäl:

  • Gör att kärntyperna kan delas mer brett mellan komponenter.
  • Gör att de återstående Http-specifika komponenterna i Microsoft.AspNetCore.Http.Features kan dra nytta av nya funktioner för körning och språk.

När du uppgraderar till ASP.NET Core 6.0 tar du bort alla paketreferenser för Microsoft.AspNetCore.Http.Features. Lägg bara till en paketreferens för Microsoft.Extensions.Features om det behövs.

För klassbibliotek som behöver använda typerna från Microsoft.AspNetCore.Http.Features lägger du till ett FrameworkReference objekt i stället:

<ItemGroup>
  <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

Mer information om hur du lägger till ramverksreferensen finns i Använda det delade ramverket ASP.NET Core.

Bibliotek med inaktuella referenser kan stöta på ett TypeLoadException eller följande fel:

Fel CS0433 Typen "IFeatureCollection" finns i både "Microsoft.AspNetCore.Http.Features, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" och "Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60"

Lös felet genom att lägga till en FrameworkReference i Microsoft.AspNetCore.App till något av de berörda projekten.

Frågor finns i dotnet/aspnetcore#32307.

Berörda API:er