Condividi tramite


Identità: versione predefinita di Bootstrap dell'interfaccia utente modificata

A partire da ASP.NET Core 6.0, l'interfaccia utente di identità usa per impostazione predefinita la versione 5 di Bootstrap. ASP.NET Core da 3.0 a 5.0 ha usato la versione 4 di Bootstrap.

Versione introdotta

ASP.NET Core 6.0

Comportamento

AddDefaultIdentity<TUser>(IServiceCollection) chiama il metodo privato interno TryResolveUIFramework. TryResolveUIFramework legge UIFramework dall'assembly dell'applicazione. Per impostazione predefinita, la UIFramework versione è:

  • Bootstrap 5 per .NET 6 SDK
  • Bootstrap 4 per il .NET Core 3.1 e il .NET 5 SDK

Le app create da modelli ASP.NET Core 3.1 e 5.0 contengono Bootstrap 4 in wwwroot\lib\bootstrap. Le app create da modelli ASP.NET Core 6 usano Bootstrap 5. Quando viene eseguita la migrazione di un'app ASP.NET Core 3.1 o 5.0 a .NET 6, l'applicazione rileva UIFramework la versione 5, mentre wwwroot\lib\bootstrap contiene la versione 4. La mancata corrispondenza di questa versione visualizza in modo errato i modelli di identità.

Motivo della modifica

Bootstrap 5 è stato rilasciato durante l'intervallo di tempo di ASP.NET Core 6.0.

Le app interessate da questa modifica usano l'interfaccia utente di identità predefinita e l'hanno aggiunta in Startup.ConfigureServices come illustrato nel codice seguente:

services.AddDefaultIdentity<IdentityUser>()

Effettua una delle seguenti azioni:

  • Aggiungere la proprietà IdentityUIFrameworkVersion MSBuild nel file di progetto e specificare Bootstrap 4:

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

    Il markup precedente imposta la UIFramework versione su Bootstrap 4, la stessa versione di Bootstrap usata in ASP.NET Core 3.1 e 5.0.

  • Rinominare o eliminare la cartella wwwroot\lib\bootstrap e sostituirla con la cartella wwwroot\lib\bootstrap da un'app generata dal modello di ASP.NET Core 6. I modelli di identità funzionano con questa modifica, ma le app che usano Bootstrap potrebbero dover fare riferimento alla guida alla migrazione di Bootstrap 5.

Le API interessate

AddDefaultIdentity<TUser>(IServiceCollection)