為什麼 Visual Studio 2019 16.9.5 中 .NET Core 3.1 和 .NET 5 的腳手架標識會失敗?
我正在嘗試在新項目中生成身份帳戶\登錄和帳戶\註冊頁面。我已經嘗試過 .NET Core 3.1 和 .NET 5;在這兩種情況下,即使它是一個新項目,我也會收到以下錯誤消息:
如您所知,這是一條非常有用的錯誤消息。有誰知道 .NET Core 3.1 或 .NET 5 項目會導致這種情況以及如何解決?我已經為我的 .NET 5 項目安裝了 VS2019 v16.9.5、Microsoft 的 IdentityServer v.5.0.6、EntityFrameworkCore v.5.0.6、Identity.UI v5.0.6 和 CodeGeneration.Design v.5.0.2,以及用於新 .NET Core 3.1 項目的這些包的預設版本。這兩個項目都未能正確建構所需的文件。
通過在 Visual Studio 之外使用 dotnet CLI 執行腳手架工具,我找到了解決此錯誤的方法。以下步驟使用 aspnet-codegenerator 工具將完整的身份頁面區域搭建到您的 .Net Core 5 應用程序中。
1.關閉 Visual Studio。
2.打開命令提示符並將目錄更改為項目位置。
3.通過執行以下命令確保您的機器上安裝了 aspnet-codegenerator 工具:
dotnet tool install -g dotnet-aspnet-codegenerator4.如果項目中不存在 Microsoft.VisualStudio.Web.CodeGeneration.Design 包,則將其添加到項目中。
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design5.執行以下命令,其中YourAppName.Models.ApplicationDbContext是 DbContext 的命名空間:
dotnet aspnet-codegenerator identity -dc YourAppName.Models.ApplicationDbContext如果命令完成且沒有錯誤,則應該修復“執行所選程式碼生成器時出錯”問題並在區域/身份/頁面下創建必要的身份頁面。
如果不需要完整集,則 dotnet aspnet-codegenerator 還可以僅建構特定文件而不是所有身份文件,方法是傳入 -files 參數,後跟要創建的文件。
dotnet aspnet-codegenerator identity -dc MyApp.Models.ApplicationDbContext –files “Account.Register;Account.Login;Account.Logout”

