Sdílet prostřednictvím


Rozdělení funkcí Microsoft.AspNetCore.Http.Features

Funkce Microsoft.AspNetCore.Http.Features byly rozděleny do následujících dvou sestavení:

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

Diskuzi najdete v tématu o problému GitHubu dotnet/aspnetcore#32307.

Zavedená verze

ASP.NET Core 6.0

Staré chování

Microsoft.AspNetCore.Http.Features 5.0 se dodává v ASP.NET sdílené rozhraní i jako balíček NuGet. Microsoft.AspNetCore.Http.Features 5.0 cílí na .NET 4.6.1, .NET Standard 2.0 a .NET 5.

Nové chování

Microsoft.AspNetCore.Http.Features 6.0 se dodává pouze v ASP.NET sdílené rozhraní, ne jako balíček NuGet. Cílí pouze na .NET 6.

Microsoft.Extensions.Features 6.0 se dodává v ASP.NET sdílené rozhraní i jako balíček NuGet. Cílí na .NET 4.6.1, .NET Standard 2.0 a .NET 6.

Do nového sestavení Microsoft.Extensions.Features byly přesunuty následující typy:

Tyto typy jsou stále v Microsoft.AspNetCore.Http.Features oboru názvů a předávání typů byly přidány kvůli kompatibilitě.

Důvod změny

Tato změna byla zavedena ze dvou důvodů:

  • Umožňuje sdílení základních typů napříč komponentami obecněji.
  • Umožňuje zbývající komponenty specifické pro http v Microsoft.AspNetCore.Http.Features využívat nové moduly runtime a jazykové funkce.

Při upgradu na ASP.NET Core 6.0 odeberte všechny odkazy na balíčky pro Microsoft.AspNetCore.Http.Features. Přidejte odkaz na balíček pro Microsoft.Extensions.Features pouze v případě potřeby.

Pro knihovny tříd, které potřebují využívat typy z Microsoft.AspNetCore.Http.Features, přidejte FrameworkReference místo toho položku:

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

Další informace o přidání odkazu na architekturu naleznete v tématu použití sdílené architektury ASP.NET Core.

Knihovny s zastaralými odkazy můžou narazit TypeLoadException na následující chybu:

Chyba CS0433 Typ IFeatureCollection existuje v microsoft.AspNetCore.Http.Features, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60 a Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60

Pokud chcete tuto chybu vyřešit, přidejte FrameworkReference do některého z ovlivněných projektů Microsoft.AspNetCore.App.

Dotazy najdete v tématu dotnet/aspnetcore#32307.

Ovlivněná rozhraní API