Identità: versione predefinita di Bootstrap dell'interfaccia utente modificata
A partire da ASP.NET Core 6.0, l'interfaccia utente dell'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 versione UIFramework
è:
- Bootstrap 5 per .NET 6 SDK
- Bootstrap 4 per .NET Core 3.1 e .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
versione 5, mentre wwwroot\lib\bootstrap contiene la versione 4. La mancata corrispondenza di questa versione esegue il rendering non corretto dei modelli di identità.
Motivo della modifica
Bootstrap 5 è stato rilasciato durante l'intervallo di tempo di ASP.NET Core 6.0.
Azione consigliata
Le app interessate da questa modifica usano l'interfaccia utente di identità predefinita che hanno aggiunto in Startup.ConfigureServices
come illustrato nel codice seguente:
services.AddDefaultIdentity<IdentityUser>()
Effettua una delle seguenti azioni:
Aggiungere la proprietà MSBuild
IdentityUIFrameworkVersion
nel file di progetto e specificare Bootstrap 4:<PropertyGroup> <TargetFramework>net6.0</TargetFramework> <IdentityUIFrameworkVersion>Bootstrap4</IdentityUIFrameworkVersion> </PropertyGroup>
Il markup precedente imposta la versione
UIFramework
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.