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.

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.

Dotyczy interfejsów API

AddDefaultIdentity<TUser>(IServiceCollection)