新的.Net Core 2.1身份非常混乱。
这是我的代码:
STARTUP.CS
services.AddIdentity<User, IdentityRole>(options => options.Stores.MaxLengthForKeys = 128)
.AddEntityFrameworkStores<ApplicationDbContext>()
.AddDefaultUI()
.AddDefaultTokenProviders();
的DbContext
public class ApplicationDbContext : IdentityDbContext<User>
{
public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options)
: base(options)
{
}
}
但我收到了这个错误:
InvalidOperationException:没有类型的服务 'Microsoft.AspNetCore.Identity.UserManager`1 [Microsoft.AspNetCore.Identity.IdentityUser]' 已经注册。
我做错了什么?
答案 0 :(得分:0)
User
已在Identity Framework中注册为扩展用户身份模型。
但是,异常消息意味着项目中的某个位置具有依赖于UserManager<IdentityUser>
的类,这将是模板的默认值。
由于默认值已经延长,因此无论何时引用默认UserManager<IdentityUser>
都需要更新为UserManager<User>