.Net5 Blazor 服务器中的脚手架身份失败

Scaffold Identity fails in .Net5 Blazor Server

我有一个现有的 .Net 5 Blazor Server 应用程序。此时没有身份验证或授权。我正在尝试通过脚手架添加 Microsoft Identity,但是当我尝试将 Identity 脚手架添加到我无法解决的项目中时,继续出现以下错误“所选代码生成器中出现错误‘程序包还原失败。回滚程序包更改[MySolujtionName] 服务器。

我试过的东西:

到目前为止运气不好,我继续遇到同样的错误。

我尝试了一个新的 Blazor Server 项目,它适用于:

  1. 指定至少一个覆盖(我选择了登录注销注册 )
  2. 指定_Layout.cshtml的完整路径(我用的是/Areas/Identity/Pages/Account/Manage/_Layout.cshtml
  3. 添加上下文
  4. 添加用户模型

然后脚手架按预期工作。

我得到以下结构:

脚手架生成的用户模型class将是:

namespace Test2.Areas.Identity.Data
{
    // Add profile data for application users by adding properties to the Test2User class
    public class Test2User : IdentityUser
    {
    }
}

更新

我在 Visual Studio 生成器中发现了一个错误。
从现有项目搭建标识页面的唯一可能性是通过命令行执行搭建过程。

这里是命令行的例子:

dotnet aspnet-codegenerator identity -dc TestWasmAuthIndividual.Server.Data.ApplicationDbContext --files "Account.Register;Account.Login;Account.Logout;Account.Manage.PersonalData" --force

您需要从 Server 项目执行此命令行。

我从上面的 Nicolas Biada 复制并粘贴了这个,以指出这是实际解决方案的部分。

更新

我在 Visual Studio 生成器中发现了一个错误。 从现有项目搭建标识页面的唯一可能性是通过命令行执行搭建过程。

这里是命令行的例子:

dotnet aspnet-codegenerator identity -dc TestWasmAuthIndividual.Server.Data.ApplicationDbContext --files "Account.Register;Account.Login;Account.Logout;Account.Manage.PersonalData" --force

您需要从服务器项目执行此命令行。

我正在使用 Blazor 服务器。我使用身份模板启动我的项目,当我尝试上面的命令行解决方案时出现错误。

我在尝试搭建页面后遇到的错误让我觉得搭建者并不真正理解 Blazor 的约定。由于组件生命周期方法、_ViewImports.cshtml 中的 Singleton 引用以及对组件本身的引用等原因,脚手架无法构建(即使正常构建完成)... Screengrab 1 Screengrab 2

我正在使用 Net 5.0,我不确定在 Net 6.0 中是否已经解决了这个问题。

我最终删除了我的 Components 文件夹和所有对它们的引用。搭建所有页面(这样我就不必再这样做了),然后使用版本控制恢复文件夹。