División de Microsoft.AspNetCore.Http.Features

Microsoft.AspNetCore.Http.Features se ha dividido en los dos ensamblados siguientes:

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

Para obtener información, vea la incidencia dotnet/aspnetcore#32307 de GitHub.

Versión introducida

ASP.NET Core 6.0

Comportamiento anterior

Microsoft.AspNetCore.Http.Features 5.0 se distribuía en el marco compartido de ASP.NET y como un paquete NuGet. Microsoft.AspNetCore.Http.Features 5.0 tenía como destino .NET 4.6.1, .NET Standard 2.0 y .NET 5.

Comportamiento nuevo

Microsoft.AspNetCore.Http.Features 6.0 solo se incluye en el marco compartido de ASP.NET, no como un paquete NuGet. Solo tiene como destino .NET 6.

Microsoft.Extensions.Features 6.0 se distribuye en el marco compartido de ASP.NET y como un paquete NuGet. Tiene como destino .NET 4.6.1, .NET Standard 2.0 y .NET 6.

Los tipos siguientes se han movido al ensamblado Microsoft.Extensions.Features nuevo:

Estos tipos todavía están en el espacio de nombres Microsoft.AspNetCore.Http.Features y se han agregado reenvíos de tipos para obtener compatibilidad.

Motivo del cambio

Este cambio se introdujo por dos motivos:

  • Permite que los tipos principales se compartan de forma más amplia entre los componentes.
  • Permite que los componentes específicos de HTTP restantes de Microsoft.AspNetCore.Http.Features aprovechen las características nuevas del entorno de ejecución y el lenguaje.

Al actualizar a ASP.NET Core 6.0, quite las referencias de paquetes para Microsoft.AspNetCore.Http.Features. Agregue una referencia de paquete para Microsoft.Extensions.Features solo si es necesario.

En el caso de las bibliotecas de clases que necesitan consumir los tipos de Microsoft.AspNetCore.Http.Features, agregue un elemento FrameworkReference en su lugar:

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

Para obtener más información sobre cómo agregar la referencia del marco, consulte Uso del marco compartido de ASP.NET Core.

Las bibliotecas con referencias no actualizadas se pueden encontrar con un elemento TypeLoadException o con el error siguiente:

Error CS0433 The type 'IFeatureCollection' exists in both 'Microsoft.AspNetCore.Http.Features, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' and 'Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' (Error CS0433: El tipo "IFeatureCollection" existe en "Microsoft.AspNetCore.Http.Features, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" y en "Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60").

Para resolver el error, agregue un elemento FrameworkReference a Microsoft.AspNetCore.App en cualquiera de los proyectos afectados.

Para resolver dudas, vea dotnet/aspnetcore#32307.

API afectadas