Udostępnij za pośrednictwem


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.

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.

Dotyczy interfejsów API