次の方法で共有


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

ASP.NET Core 6.0 以降では、Id UI は既定で バージョン 5 のブートストラップを使用します。 ASP.NET Core 3.0 から 5.0 は、ブートストラップのバージョン 4 を使用しました。

導入されたバージョン

ASP.NET Core 6.0

行動

AddDefaultIdentity<TUser>(IServiceCollection) は内部プライベート メソッド TryResolveUIFramework を呼び出します。 TryResolveUIFramework は、アプリケーション アセンブリから UIFramework を読み取ります。 UIFrameworkバージョンの既定値は次のとおりです。

  • .NET 6 SDK のブートストラップ 5
  • .NET Core 3.1 および .NET 5 SDK のブートストラップ 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 に移行されると、アプリケーションはバージョン 5 UIFramework 検出しますが、 wwwroot\lib\bootstrap にはバージョン 4 が含まれます。 このバージョンの不一致により、ID テンプレートが正しく表示されません。

変更の理由

ブートストラップ 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 で使用されているのと同じブートストラップ バージョンです。

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

影響を受ける API

AddDefaultIdentity<TUser>(IServiceCollection)