RoleStore抛出StructureMap错误



当我尝试使用Asp.Net Identity RoleStore并使用StructureMap作为DI容器时,UserStore工作正常,但RoleStore在编译时会出现错误。

//works fine
cfg.For<IUserStore<ApplicationUser>>().Use<UserStore<ApplicationUser>>();
//does NOT work
cfg.For<IRoleStore<IdentityRole>>().Use<RoleStore<IdentityRole>>(); 

抛出以下错误

类型"Microsoft.AspNet.Identity.EntityFramework.RoleStore"不能用作泛型类型中的类型参数"TConcreteType"或方法"StructureMap.Configuration.DSL.Expressions.CreatePluginFamilyExpression.Use()"。没有来自的隐式引用转换"Microsoft.AspNet.Identity.EntityFramework.RoleStore"到"Microsoft.AspNet.Identity.IOleStore".

因为RoleStore<TRole>不是从IRoleStore<TRole>实现的。实际上它是从CCD_ 3实现的。因此,请尝试以下操作:

cfg.For<IRoleStore<IdentityRole,string>>().Use<RoleStore<IdentityRole>>(); 

相关内容

  • 没有找到相关文章