![](/img/trans.png)
[英]No service for type 'Microsoft.AspNetCore.Identity.UserManager`1[Microsoft.AspNetCore.Identity.IdentityUser]' has been registered
[英]No service for type 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext' has been registered
使用“AddIdentity”扩展方法时出现错误: 'No service for type 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.IdentityDbContext' has been registered.'
我将IdentityUser
添加到ApplicationUser
class
public class ApplicationUser : IdentityUser { }
然后我配置了 DbContext:
public class ReadDbContext : IdentityDbContext<ApplicationUser>
{
public DbSet<FileReadModel> Documents { get; set; }
public DbSet<CategoryReadModel> Categories { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.HasDefaultSchema("myschema");
var configuration = new ReadConfiguration();
modelBuilder.ApplyConfiguration<FileReadModel>(configuration);
modelBuilder.ApplyConfiguration<CategoryReadModel>(configuration);
base.OnModelCreating(modelBuilder);
}
}
最后调用AddIdentity
扩展方法。
var options = configuration.GetOptions<PostgresOptions>("Database");
services.AddDbContext<ReadDbContext>(ctx =>
ctx.UseNpgsql(options.ConnectionString));
services.AddIdentity<ApplicationUser, IdentityRole>()
.AddEntityFrameworkStores<ReadDbContext>()
.AddDefaultTokenProviders();
但是在启动时,我收到错误消息,指出找不到IdentityDbContext的服务类型。 我也尝试配置自定义角色和自定义键。 我每次都会遇到同样的错误。 我在这里错过了什么?
在某个地方你要注入错误的 class,
举个例子;
@inject ManagerClass<IdentityDbContext> managerClass
到
@inject ManagerClass<ApplicationUser> managerClass
我找到了解决方案。 无法从bin
或object
文件夹中彻底删除某些内容。 清理什么也没做,但手动删除编译的文件。 删除后重新编译运行!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.