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.
Acción recomendada
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.