这是一个我几个小时都在苦苦挣扎的难题。这是背景:
Unity IoC
ApiControllers (IHttpController)
和一堆常规控制器(IController
)IControllers
的解决方案正常IHttpControllers
的解决方案已经运行了好几个月,现在因类型解析错误而导致错误,其中包含详细信息“The type InjectionPolicy cannot be constructed. You must configure the container to supply this value
”ICustomerService
依赖关系,该依赖关系具有ICustomerRepository
依赖关系,而该关联依赖关系具有IClient
依赖关系,但这些依赖关系都不是新的或不同的。ICustomerService
删除ApiController
依赖项解决了问题(但该界面已明确配置并可在其他任何位置使用)HttpControllerActivator
并拦截了解决IHttpControllers
的调用 - 它在container.Resolve上失败了,即使查看容器,控制器显然在那里我搜索了这个特定的错误但没有找到任何内容。有没有人见过它,或者它是否给你任何关于可能发生的事情的线索?
非常感谢!
更新:我已将其缩小到ICustomerRepository
分辨率(再次,在所有其他流程中工作)。错误是:
Resolving Xxx.CustomerRepository,(none) (mapped from Xxx.ICustomerRepository, (none))
Resolving Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior,(none)
Resolving parameter "policies" of constructor Microsoft.Practices.Unity.InterceptionExtension.PolicyInjectionBehavior(Microsoft.Practices.Unity.InterceptionExtension.CurrentInterceptionRequest interceptionRequest, Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy[] policies, Microsoft.Practices.Unity.IUnityContainer container)
Resolving Microsoft.Practices.Unity.InterceptionExtension.InjectionPolicy[],(none)