.Net5 Blazor 服务器中的脚手架身份失败
Scaffold Identity fails in .Net5 Blazor Server
我有一个现有的 .Net 5 Blazor Server 应用程序。此时没有身份验证或授权。我正在尝试通过脚手架添加 Microsoft Identity,但是当我尝试将 Identity 脚手架添加到我无法解决的项目中时,继续出现以下错误“所选代码生成器中出现错误‘程序包还原失败。回滚程序包更改[MySolujtionName] 服务器。
我试过的东西:
- 批量构建 - 清理解决方案
- 批量构建 - 重建解决方案
- 工具 --> 选项 --> Nuget 包管理器 --> 清除所有 Nuget 缓存然后重复上述步骤
到目前为止运气不好,我继续遇到同样的错误。
我尝试了一个新的 Blazor Server 项目,它适用于:
- 指定至少一个覆盖(我选择了登录、注销和注册 )
- 指定_Layout.cshtml的完整路径(我用的是/Areas/Identity/Pages/Account/Manage/_Layout.cshtml)
- 添加上下文
- 添加用户模型
然后脚手架按预期工作。
我得到以下结构:
脚手架生成的用户模型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 文件夹和所有对它们的引用。搭建所有页面(这样我就不必再这样做了),然后使用版本控制恢复文件夹。
我有一个现有的 .Net 5 Blazor Server 应用程序。此时没有身份验证或授权。我正在尝试通过脚手架添加 Microsoft Identity,但是当我尝试将 Identity 脚手架添加到我无法解决的项目中时,继续出现以下错误“所选代码生成器中出现错误‘程序包还原失败。回滚程序包更改[MySolujtionName] 服务器。
我试过的东西:
- 批量构建 - 清理解决方案
- 批量构建 - 重建解决方案
- 工具 --> 选项 --> Nuget 包管理器 --> 清除所有 Nuget 缓存然后重复上述步骤
到目前为止运气不好,我继续遇到同样的错误。
我尝试了一个新的 Blazor Server 项目,它适用于:
- 指定至少一个覆盖(我选择了登录、注销和注册 )
- 指定_Layout.cshtml的完整路径(我用的是/Areas/Identity/Pages/Account/Manage/_Layout.cshtml)
- 添加上下文
- 添加用户模型
然后脚手架按预期工作。
我得到以下结构:
脚手架生成的用户模型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 文件夹和所有对它们的引用。搭建所有页面(这样我就不必再这样做了),然后使用版本控制恢复文件夹。