Compartir a través de


Identidad: se ha cambiado la versión de Bootstrap predeterminada de la interfaz de usuario

A partir de ASP.NET Core 6.0, identity UI usa la versión 5 de Bootstrap. ASP.NET Core 3.0 a 5.0 usó 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. La UIFramework versión tiene como valor predeterminado:

  • Bootstrap 5 para el SDK de .NET 6
  • Bootstrap 4 para el SDK de .NET Core 3.1 y .NET 5

Las aplicaciones ASP.NET Core 3.1 y 5.0 creadas con plantilla contienen Bootstrap 4 en wwwroot\lib\bootstrap. Las aplicaciones de ASP.NET Core 6 creadas con plantilla 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 UIFramework la versión 5, mientras que wwwroot\lib\bootstrap contiene la versión 4. El desajuste de versión presenta las plantillas de identidad de forma incorrecta.

Motivo del cambio

Bootstrap 5 se lanzó durante el período de tiempo de ASP.NET Core 6.0.

Las aplicaciones afectadas por este cambio usan la interfaz de usuario de identidad predeterminada 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 MSBuild en el archivo del proyecto y especifique Bootstrap 4:

    <PropertyGroup>
      <TargetFramework>net6.0</TargetFramework>
      <IdentityUIFrameworkVersion>Bootstrap4</IdentityUIFrameworkVersion>
    </PropertyGroup>
    

    El marcado anterior establece la UIFramework versión en Bootstrap 4, la misma versión de Bootstrap que se usa 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 de una aplicación generada por plantilla de ASP.NET Core 6. Las plantillas de identidad funcionan con este cambio, pero es posible que las aplicaciones que usan Bootstrap necesiten consultar la guía de migración de Bootstrap 5.

Las APIs afectadas

AddDefaultIdentity<TUser>(IServiceCollection)