Identity: se ha cambiado la versión de Bootstrap predeterminada de la interfaz de usuario
A partir de ASP.NET Core 6.0, la interfaz de usuario de Identity tiene como valor predeterminado el uso de la versión 5 de Bootstrap. Las versiones de la 3.0 a la 5.0 de ASP.NET Core usaban la versión 4 de Bootstrap.
Versión introducida
ASP.NET Core 6.0
Comportamiento
AddDefaultIdentity<TUser>(IServiceCollection) llama al método privado interno TryResolveUIFramework. TryResolveUIFramework
lee UIFramework en el ensamblado de aplicación. El valor predeterminado de la versión UIFramework
es:
- Bootstrap 5 para el SDK de .NET 6
- Bootstrap 4 para el SDK de .NET Core 3.1 y .NET 5
Las aplicaciones de ASP.NET Core 3.1 y 5.0 creadas por plantillas contienen Bootstrap 4 en wwwroot\lib\bootstrap. Las aplicaciones de ASP.NET Core 6 creadas por plantillas usan Bootstrap 5. Cuando se migra una aplicación de ASP.NET Core 3.1 o 5.0 a .NET 6, la aplicación detecta la versión UIFramework
5, mientras que wwwroot\lib\bootstrap contiene la versión 4. Esta incoherencia de versiones representa incorrectamente las plantillas de Identity.
Motivo del cambio
Bootstrap 5 se lanzó durante el periodo de tiempo de ASP.NET Core 6.0.
Acción recomendada
Las aplicaciones afectadas por este cambio usan la interfaz de usuario predeterminada de Identity y la han agregado en Startup.ConfigureServices
como se muestra en el código siguiente:
services.AddDefaultIdentity<IdentityUser>()
Realice una de las siguientes acciones:
Agregue la propiedad
IdentityUIFrameworkVersion
de MSBuild en el archivo del proyecto y especifique Bootstrap 4:<PropertyGroup> <TargetFramework>net6.0</TargetFramework> <IdentityUIFrameworkVersion>Bootstrap4</IdentityUIFrameworkVersion> </PropertyGroup>
El marcado anterior establece la versión
UIFramework
en Bootstrap 4, la misma versión de Bootstrap usada en ASP.NET Core 3.1 y 5.0.Cambie el nombre o elimine la carpeta wwwroot\lib\bootstrap y reemplácela por la carpeta wwwroot\lib\bootstrap en una aplicación generada por plantilla de ASP.NET Core 6. Las plantillas de Identity funcionan con este cambio, pero las aplicaciones que usan Bootstrap pueden necesitar consultar la guía de migración de Bootstrap 5.