Microsoft.AspNetCore.Http.Features — podział
Microsoft.AspNetCore.Http.Features został podzielony na dwa następujące zestawy:
- Microsoft.AspNetCore.Http.Features
- Microsoft.Extensions.Features
Aby zapoznać się z dyskusją, zobacz problem z usługą GitHub dotnet/aspnetcore#32307.
Wprowadzona wersja
ASP.NET Core 6.0
Stare zachowanie
Microsoft.AspNetCore.Http.Features 5.0 dostarczany zarówno w ramach platformy udostępnionej ASP.NET, jak i jako pakiet NuGet. Microsoft.AspNetCore.Http.Features 5.0 dotyczy platformy .NET 4.6.1, .NET Standard 2.0 i .NET 5.
Nowe zachowanie
Microsoft.AspNetCore.Http.Features 6.0 jest dostarczany tylko w ramach platformy udostępnionej ASP.NET, a nie jako pakiet NuGet. Jest przeznaczony tylko dla platformy .NET 6.
Microsoft.Extensions.Features 6.0 jest dostarczany zarówno w ramach ASP.NET udostępnionej platformy, jak i jako pakiet NuGet. Jest ona przeznaczona dla platformy .NET 4.6.1, .NET Standard 2.0 i .NET 6.
Następujące typy zostały przeniesione do nowego zestawu Microsoft.Extensions.Features:
Te typy są nadal w Microsoft.AspNetCore.Http.Features
przestrzeni nazw i dodano typy do przodu w celu zapewnienia zgodności.
Przyczyna wprowadzenia zmiany
Ta zmiana została wprowadzona z dwóch powodów:
- Umożliwia udostępnianie podstawowych typów w szerszym zakresie między składnikami.
- Umożliwia korzystanie z nowych funkcji środowiska uruchomieniowego i języka pozostałych składników specyficznych dla protokołu Http w witrynie Microsoft.AspNetCore.Http.Features.
Zalecana akcja
Podczas uaktualniania do wersji ASP.NET Core 6.0 usuń wszystkie odwołania do pakietów microsoft.AspNetCore.Http.Features. Dodaj odwołanie do pakietu dla microsoft.Extensions.Features tylko w razie potrzeby.
W przypadku bibliotek klas, które muszą korzystać z typów z elementu Microsoft.AspNetCore.Http.Features, dodaj element FrameworkReference
:
<ItemGroup>
<FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>
Aby uzyskać więcej informacji na temat dodawania odwołania do platformy, zobacz Use the ASP.NET Core shared framework (Używanie platformy udostępnionej ASP.NET Core).
Biblioteki z nieaktualnymi odwołaniami mogą napotkać błąd TypeLoadException lub następujący:
Błąd CS0433 Typ "IFeatureCollection" istnieje w obu elementach "Microsoft.AspNetCore.Http.Features" Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" i "Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60"
Aby rozwiązać ten problem, dodaj element do FrameworkReference
Microsoft.AspNetCore.App do dowolnego z projektów, których dotyczy problem.
Aby uzyskać pytania, zobacz dotnet/aspnetcore#32307.