Tożsamość: zmieniono domyślną wersję interfejsu użytkownika bootstrap
Począwszy od ASP.NET Core 6.0, interfejs użytkownika tożsamości domyślnie używa wersji 5 bootstrap. ASP.NET Core 3.0 do 5.0 używanej wersji 4 bootstrap.
Wprowadzona wersja
ASP.NET Core 6.0
Zachowanie
AddDefaultIdentity<TUser>(IServiceCollection) wywołuje wewnętrzną metodę prywatną TryResolveUIFramework. TryResolveUIFramework
odczytuje element UIFramework z zestawu aplikacji. Wersja jest domyślnie ustawiona UIFramework
na:
- Bootstrap 5 dla zestawu .NET 6 SDK
- Bootstrap 4 dla zestawu .NET Core 3.1 i .NET 5 SDK
Utworzone w szablonie aplikacje ASP.NET Core 3.1 i 5.0 zawierają bootstrap 4 w katalogu wwwroot\lib\bootstrap. Utworzone w szablonie aplikacje ASP.NET Core 6 używają bootstrap 5. Gdy aplikacja ASP.NET Core 3.1 lub 5.0 zostanie zmigrowana do platformy .NET 6, aplikacja wykryje UIFramework
wersję 5, podczas gdy wwwroot\lib\bootstrap zawiera wersję 4. Ta niezgodność wersji niepoprawnie renderuje szablony tożsamości.
Przyczyna wprowadzenia zmiany
Bootstrap 5 został wydany w ramach czasu ASP.NET Core 6.0.
Zalecana akcja
Aplikacje, które mają wpływ na tę zmianę, używają domyślnego interfejsu użytkownika tożsamości i zostały dodane do niego, Startup.ConfigureServices
jak pokazano w poniższym kodzie:
services.AddDefaultIdentity<IdentityUser>()
Przeprowadź jedną z następujących czynności:
Dodaj właściwość
IdentityUIFrameworkVersion
MSBuild w pliku projektu i określ bootstrap 4:<PropertyGroup> <TargetFramework>net6.0</TargetFramework> <IdentityUIFrameworkVersion>Bootstrap4</IdentityUIFrameworkVersion> </PropertyGroup>
Powyższy znacznik ustawia
UIFramework
wersję na Bootstrap 4, taką samą wersję bootstrap, jak w ASP.NET Core 3.1 i 5.0.Zmień nazwę lub usuń folder wwwroot\lib\bootstrap i zastąp go folderem wwwroot\lib\bootstrap z aplikacji wygenerowanej przez szablony ASP.NET Core 6. Szablony tożsamości działają z tą zmianą, ale aplikacje korzystające z narzędzia Bootstrap mogą wymagać odwoływania się do przewodnika migracji bootstrap 5.