身分識別:預設啟動程序版本的 UI 已變更
從 ASP.NET Core 6.0 開始,身分識別 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 中的啟動程序 4。 範本建立的 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 時間範圍內發行。
建議的動作
受這項變更影響的應用程式會使用預設的身分識別 UI,且已將其新增至 Startup.ConfigureServices
,如下列程式碼所示:
services.AddDefaultIdentity<IdentityUser>()
執行下列其中一項動作:
在專案檔中新增 MSBuild 屬性
IdentityUIFrameworkVersion
,並指定啟動程序 4:<PropertyGroup> <TargetFramework>net6.0</TargetFramework> <IdentityUIFrameworkVersion>Bootstrap4</IdentityUIFrameworkVersion> </PropertyGroup>
上述標記會將
UIFramework
版本設為啟動程序 4,與 ASP.NET Core 3.1 和 5.0 所用的啟動程序版本相同。重新命名或刪除 wwwroot\lib\bootstrap 資料夾,並取代為 ASP.NET Core 6 範本所產生應用程式的 wwwroot\lib\bootstrap 資料夾。 身分識別範本適用於這項變更,但使用啟動程序的應用程式可能需要參閱啟動程序 5 移轉指南。