标识:已更改 UI 的默认 Bootstrap 版本
从 ASP.NET Core 6.0 开始,标识 UI 默认为使用 Bootstrap 版本 5。 ASP.NET Core 3.0 到 5.0 使用 Bootstrap 版本 4。
引入的版本
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。 此版本不匹配会错误地呈现标识模板。
更改原因
在 ASP.NET Core 6.0 时间范围内发布了 Bootstrap 5。
建议的操作
受此更改影响的应用使用默认标识 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 文件夹。 标识模板可应用此更改,但使用 Bootstrap 的应用可能需要参考 Bootstrap 5 迁移指南。