Identität: Bootstrap-Standardversion der Benutzeroberfläche geändert

Ab ASP.NET Core 6.0 verwendet die Identitäts-Benutzeroberfläche standardmäßig Version 5 von Bootstrap. ASP.NET Core 3.0 bis 5.0 verwendeten die Version 4 von Bootstrap.

Eingeführt in Version

ASP.NET Core 6.0

Verhalten

AddDefaultIdentity<TUser>(IServiceCollection) ruft die interne private TryResolveUIFramework-Methode auf. TryResolveUIFramework liest UIFramework aus der Anwendungsassembly. Standardmäßig lautet die UIFramework-Version:

  • Bootstrap 5 für das .NET 6 SDK
  • Bootstrap 4 für .NET Core 3.1 und .NET 5 SDK

Mit Vorlagen erstellte ASP.NET Core 3.1- und 5.0-Apps enthalten Bootstrap 4 in wwwroot\lib\bootstrap. Mit Vorlagen erstellte ASP.NET Core 6.0-Apps verwenden Bootstrap 5. Wenn eine ASP.NET Core 3.1- oder 5.0-App zu .NET 6 migriert wird, erkennt die Anwendung UIFramework die Version 5, während wwwroot\lib\bootstrap die Version 4 enthält. Diese Versionsabweichung führt dazu, dass die Identity-Vorlagen nicht ordnungsgemäß dargestellt werden.

Grund für die Änderung

Bootstrap 5 wurde im Zeitrahmen von ASP.NET Core 6.0 veröffentlicht.

Apps, die von dieser Änderung betroffen sind, verwenden die standardmäßige Identity-Benutzeroberfläche und haben sie in Startup.ConfigureServices hinzugefügt, wie im folgenden Code gezeigt:

services.AddDefaultIdentity<IdentityUser>()

Führen Sie eine der folgenden Aktionen aus:

  • Fügen Sie die MSBuild-Eigenschaft IdentityUIFrameworkVersion in der Projektdatei hinzu und geben Sie Bootstrap 4 an:

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

    Im vorherigen Markup wird die UIFramework-Version auf Bootstrap 4 festgelegt, die gleiche Bootstrap-Version, die auch in ASP.NET Core 3.1 und 5.0 verwendet wird.

  • Benennen Sie den Ordner wwwroot\lib\bootstrap um oder löschen Sie ihn, und ersetzen Sie ihn durch den Ordner wwwroot\lib\bootstrap aus einer mit einer ASP.NET Core 6-Vorlage generierten App. Die Identity-Vorlagen funktionieren mit dieser Änderung, aber Apps, die Bootstrap verwenden, müssen möglicherweise den Bootstrap 5-Migrationsleitfaden beachten.

Betroffene APIs

AddDefaultIdentity<TUser>(IServiceCollection)