Тип RoleStore <IdentityRole> нельзя назначить службе IRoleStore <IRole>
Я пытаюсь настроить внедрение зависимостей с помощью Autofac для проекта, использующего MVC5 и EF6.
Мне трудно понять, как правильно отделить реализацию EntityFramework.RoleStore <EntityFramework.IdentityRole>.
Я хотел бы иметь зависимость только от Identity.IRoleStore <Identity.IRole>, но я знаю, что для универсальных классов мне нужно указать конкретную реализацию, а не интерфейс.
Вот что я попробовал:
builder.RegisterType<IdentityRole>().As<IRole>();
builder.RegisterType<RoleManager<IRole>>();
builder.RegisterType<RoleStore<IdentityRole>>().As<IRoleStore<IRole>>();
builder.Register(c => new RoleManager<IRole>(c.Resolve<IRoleStore<IRole>>()));
Полное сообщение об ошибке:
Тип 'Microsoft.AspNet.Identity.EntityFramework.RoleStore1[Microsoft.AspNet.Identity.EntityFramework.IdentityRole]' is not assignable to service 'Microsoft.AspNet.Identity.IRoleStore
1 [[Microsoft.AspNet.Identity.IRole, Microsoft.AspNet.Identity.Core, версия = 1.0.0.0, культура = нейтральная, PublicKeyToken = 31bf3856ad364e35]] '.