RoleStore会抛出StructureMap错误

时间:2015-12-18 13:44:35

标签: asp.net-mvc-5 asp.net-identity structuremap user-roles

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

library(mapview)
library(raster)

counties <- getData("GADM", country = "USA", level = 2)

mapview(counties)

抛出以下错误

  

类型   'Microsoft.AspNet.Identity.EntityFramework.RoleStore'   不能在泛型类型中用作类型参数'TConcreteType'   或方法   'StructureMap.Configuration.DSL.Expressions.CreatePluginFamilyExpression.Use()'。   没有隐式引用转换   'Microsoft.AspNet.Identity.EntityFramework.RoleStore'   至   'Microsoft.AspNet.Identity.IRoleStore'。

1 个答案:

答案 0 :(得分:3)

因为RoleStore<TRole>未实现IRoleStore<TRole>。实际上它是从IRoleStore<TRole, TKey>实现的。因此请尝试这样做:

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