gpt4 book ai didi

c# - 网络核心 : Type or namespace name 'RoleProvider' could not be found

转载 作者:太空狗 更新时间:2023-10-29 19:40:18 27 4
gpt4 key购买 nike

我正在将项目从 .Net 4.6.2 迁移到 .Net Core 2.0。 Net Core 中 RoleProvider 的替代品是什么?

找不到类型或 namespace 名称“RoleProvider”(是否缺少 using 指令或程序集引用?)

 public class CustomerRoleProvider : RoleProvider
{
public override string CustomerName { get; set; }

public override void AddUsersToRoles(string[] usernames, string[] roleNames)
{

新代码看起来像这样,收到错误

Using the generic type 'RoleManager<TRole>' requires 1 type arguments

// Error first line: Using the generic type 'RoleManager<TRole>' requires 1 type arguments

public class CustomerRoleProvider : RoleManager
{
public string ApplicationName { get; set; }

public void CreateRole(IServiceProvider serviceProvider, string roleName)
{
var RoleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
throw new NotImplementedException();
}

更新:John Kenney 的回答看起来很棒,希望有人可以在他的回答中添加更多内容作为编辑。

最佳答案

RoleProvider 在 .NET Core 中不存在,至少在那种形式下不存在。我相信您正在寻找的是 RoleManager。实现与以下非常相似:

var RoleManager = serviceProvider.GetRequiredService<RoleManager<IdentityRole>>();
var UserManager = serviceProvider.GetRequiredService<UserManager<ApplicationUser>>();

请引用这个article有关如何实现它的详细信息。

关于c# - 网络核心 : Type or namespace name 'RoleProvider' could not be found,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55331748/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com