ASP.Net 6 没有类型“Microsoft.AspNetCore.Identity.UserManager

问题描述 投票:0回答:1

我一直在尝试在startup.cs中设置角色和用户。我现在可以使用角色,但用户无法生成“没有类型‘Microsoft.AspNetCore.Identity.UserManager’的服务”。我花了半天时间浏览 stackoverflow 和其他网站上给出的解决方案,包括 learn.microsoft.com 上的示例,但我没有更接近解决方案。我已经删除了我尝试过的所有添加内容,这些添加内容都失败了,并回到了角色起作用但用户不起作用的位置。 ApplicationDBContext 看起来像这样:

public class ApplicationDbContext : IdentityDbContext<BOAPUser>
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options){}

public virtual DbSet<IdentityUser> BOAPUser {  get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{base.OnModelCreating(modelBuilder);}

Startup.cs 有:

services.AddDefaultIdentity<BOAPUser>(options => options.SignIn.RequireConfirmedAccount = false)
.AddRoles<IdentityRole>()
.AddEntityFrameworkStores<ApplicationDbContext>();

断裂的地方:

using (var scope = app.ApplicationServices.CreateScope())
{
var userManager = scope.ServiceProvider.GetRequiredService<UserManager<IdentityUser>>();
asp.net asp.net-core-mvc asp.net-identity
1个回答
0
投票

我找到了问题所在。导致问题的行应为

var userManager = scope.ServiceProvider.GetService<UserManager<ApplicationUser>>();

而不是

var userManager = scope.ServiceProvider.GetService<UserManager<IdentityUser>>();
© www.soinside.com 2019 - 2024. All rights reserved.