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.
Doporučená akce
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.