ID: UI の既定の Bootstrap のバージョンが変更された

ASP.NET Core 6.0 以降、ID UI では既定でバージョン 5 の Bootstrap が使用されています。 ASP.NET Core 3.0 から 5.0 では、バージョン 4 の Bootstrap が使用されていました。

導入されたバージョン

ASP.NET Core 6.0

動作

AddDefaultIdentity<TUser>(IServiceCollection) によって、内部プライベート メソッド TryResolveUIFramework が使用されます。 TryResolveUIFramework によって、アプリケーション アセンブリから UIFramework が読み取られます。 UIFramework のバージョンの既定値は次のとおりです。

  • .NET 6 SDK の Bootstrap 5
  • .NET Core 3.1 および .NET 5 SDK の Bootstrap 4

テンプレートで作成された ASP.NET Core 3.1 および 5.0 アプリの場合は、wwwroot\lib\bootstrap に Bootstrap 4 が含まれています。 テンプレートで作成された ASP.NET Core 6 アプリでは Bootstrap 5 が使用されます。 ASP.NET Core 3.1 または 5.0 アプリを .NET 6 に移行すると、アプリケーションによって検出されるのは UIFramework バージョン 5 ですが、wwwroot\lib\bootstrap にはバージョン 4 が含まれています。 このバージョンの不一致によって、ID テンプレートが正しくレンダリングされません。

変更理由

Bootstrap 5 は ASP.NET Core 6.0 の期間中にリリースされました。

この変更の影響を受けるアプリでは、既定の ID UI が使用されます。次のコードに示すように、Startup.ConfigureServices に追加されています。

services.AddDefaultIdentity<IdentityUser>()

次のいずれかのアクションを実行します。

  • プロジェクト ファイルに MSBuild プロパティ IdentityUIFrameworkVersion を追加し、Bootstrap 4 を指定します。

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

    上記のマークアップにより、UIFramework バージョンが Bootstrap 4 (ASP.NET Core 3.1 および 5.0 で使用されているのと同じ Bootstrap バージョン) に設定されます。

  • wwwroot\lib\bootstrap フォルダーの名前変更または削除を行い、それを、ASP.NET Core 6 テンプレートで生成されたアプリの wwwroot\lib\bootstrap フォルダーに置き換えます。 この変更で ID テンプレートは機能するようになります。Bootstrap を使用するアプリについては、Bootstrap 5 移行ガイドを参照することが必要な場合があります。

影響を受ける API

AddDefaultIdentity<TUser>(IServiceCollection)