Удостоверение: изменена версия начальной загрузки пользовательского интерфейса по умолчанию

Начиная с ASP.NET Core 6.0 пользовательский интерфейс удостоверений по умолчанию используется с использованием начальной версии 5. ASP.NET Core 3.0 до 5.0 используется версия 4 начальной загрузки.

Представленные версии

ASP.NET Core 6.0

Поведение

AddDefaultIdentity<TUser>(IServiceCollection) вызывает внутренний частный метод TryResolveUIFramework. TryResolveUIFramework считывает сборку UIFramework приложения. Версия UIFramework по умолчанию:

  • Начальная загрузка 5 для пакета SDK для .NET 6
  • Начальная загрузка 4 для пакета SDK для .NET Core 3.1 и .NET 5

Созданные шаблонами приложения ASP.NET Core 3.1 и 5.0 содержат Bootstrap 4 в wwwroot\lib\bootstrap. Созданные шаблоном приложения ASP.NET Core 6 используют начальную загрузку 5. Когда приложение ASP.NET Core 3.1 или 5.0 переносится в .NET 6, приложение обнаруживает UIFramework версию 5, а wwwroot\lib\bootstrap содержит версию 4. Эта версия неправильно отображает шаблоны удостоверений.

Причина изменения

Начальная загрузка 5 была выпущена в течение периода времени ASP.NET Core 6.0.

Приложения, затронутые этим изменением, используют пользовательский интерфейс удостоверений по умолчанию и добавили его, как показано в Startup.ConfigureServices следующем коде:

services.AddDefaultIdentity<IdentityUser>()

Выполните одно из следующих действий:

  • Добавьте свойство IdentityUIFrameworkVersion MSBuild в файл проекта и укажите Bootstrap 4:

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

    Предыдущая разметка задает UIFramework версию bootstrap 4, ту же версию начальной загрузки, что и в ASP.NET Core 3.1 и 5.0.

  • Переименуйте или удалите папку wwwroot\lib\bootstrap и замените ее папкой wwwroot\lib\bootstrap из приложения, созданного шаблоном ASP.NET Core 6. Шаблоны удостоверений работают с этим изменением, но приложениям с помощью Bootstrap может потребоваться обратиться к руководству по миграции Bootstrap 5.

Затронутые API

AddDefaultIdentity<TUser>(IServiceCollection)