C# 附加身份服务问题,usermanager
InvalidOperationException:在尝试激活“MyWebsite.Controllers.AccountController”时,无法解析类型“Microsoft.AspNetCore.Identity.UserManager”“1[MyWebsite.Models.User]”的服务 我在访问/Account/Register时遇到此错误C# 附加身份服务问题,usermanager,c#,asp.net-core,entity-framework-core,asp.net-identity,identity,C#,Asp.net Core,Entity Framework Core,Asp.net Identity,Identity,InvalidOperationException:在尝试激活“MyWebsite.Controllers.AccountController”时,无法解析类型“Microsoft.AspNetCore.Identity.UserManager”“1[MyWebsite.Models.User]”的服务 我在访问/Account/Register时遇到此错误 services.AddDbContext<ApplicationDbContext>(options =>
services.AddDbContext<ApplicationDbContext>(options =>
options.UseSqlServer(
Configuration.GetConnectionString("DefaultConnection")));
services.AddDefaultIdentity<IdentityUser>()
.AddDefaultUI(UIFramework.Bootstrap4)
.AddEntityFrameworkStores<ApplicationDbContext>();
//services.AddIdentity<User, IdentityRole>()
//.AddEntityFrameworkStores<ApplicationDbContext>();0
账户控制员
private readonly UserManager<User> _userManager;
private readonly SignInManager<User> _signInManager;
private readonly RoleManager<IdentityRole> _roleManager;
public AccountController(UserManager<User> userManager, SignInManager<User> signInManager, RoleManager<IdentityRole> roleManager)
{
_userManager = userManager;
_signInManager = signInManager;
_roleManager = roleManager;
}
private readonly UserManager\u UserManager;
专用只读签名管理器\u签名管理器;
专用只读角色管理器(RoleManager);
公共帐户控制器(UserManager UserManager、SignInManager SignInManager、RoleManager RoleManager)
{
_userManager=userManager;
_signInManager=signInManager;
_roleManager=roleManager;
}
我是新来的,帮助您正在为
服务添加服务。AddDefaultIdentity()
创建新的用户
模型时
因此,您必须为该模型添加服务services.AddDefaultIdentity()
编辑
确保IdentityRoles
服务正常工作
services.AddDefaultIdentity()
现在我有了它------InvalidOperationException:没有类型为“Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]”的服务已注册。@pitten这意味着你正在尝试注入UserManager
我修复了它,谢谢!但现在我又遇到了一个问题:(在尝试激活“MyWebsite.Controllers.AccountController”时,无法解析类型为“Microsoft.AspNetCore.Identity.RoleManager`1[Microsoft.AspNetCore.Identity.Identity.IdentityRole]”的服务。现在看起来像是这样的服务。AddDefaultIdentity().AddDefaultUI(UIFramework.Bootstrap4).AddEntityFrameworkStores();非常感谢!谢谢。删除默认值后,它就工作了。
public class User : IdentityUser
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string Address { get; set; }
}
private readonly UserManager<User> _userManager;
private readonly SignInManager<User> _signInManager;
private readonly RoleManager<IdentityRole> _roleManager;
public AccountController(UserManager<User> userManager, SignInManager<User> signInManager, RoleManager<IdentityRole> roleManager)
{
_userManager = userManager;
_signInManager = signInManager;
_roleManager = roleManager;
}