Compartir a través de


División 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, consulte Problema de GitHub dotnet/aspnetcore#32307.

Versión introducida

ASP.NET Core 6.0

Comportamiento anterior

Microsoft.AspNetCore.Http.Features 5.0 se incluye tanto en el marco compartido de ASP.NET como en un paquete NuGet. Microsoft.AspNetCore.Http.Features 5.0 está orientado a .NET 4.6.1, .NET Standard 2.0 y .NET 5.

Nuevo comportamiento

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 incluye tanto en el marco compartido de ASP.NET como en un paquete NuGet. Tiene como destino .NET 4.6.1, .NET Standard 2.0 y .NET 6.

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

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 nuevas características de tiempo de ejecución y lenguaje.

Al actualizar a ASP.NET Core 6.0, quite las referencias de paquetes de 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 FrameworkReference elemento en su lugar:

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

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

Las bibliotecas con referencias obsoletas pueden encontrar un TypeLoadException error o el siguiente:

Error CS0433 El tipo "IFeatureCollection" existe en "Microsoft.AspNetCore.Http.Features", Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60" y "Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60"

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

Para preguntas, consulte dotnet/aspnetcore#32307.

Las APIs afectadas