我在应用程序启动时注册了我的两个接口: -
container.Register(Component.For(typeof(IEntityIndexController)).ImplementedBy(typeof(SnippetController)).LifeStyle.Transient);
container.Register(Component.For(typeof(ISnippetController)).ImplementedBy(typeof(SnippetController)).LifeStyle.Transient);
然后,当我尝试在这里使用第二个接口的对象(ISnippetController)上运行IoC.Resolve时,它会引发以下异常: -
无法创建组件“MyApp.Admin.Presenters.SnippetPresenter”,因为它具有要满足的依赖项。 MyApp.Admin.Presenters.SnippetPresenter正在等待以下依赖项: 服务: - 未注册的MyApp.Admin.Controllers.ISnippetController。
如果我切换周围注册的顺序,则抱怨它无法找到IEntityIndexController。所以看起来它只会选择一个类的第一次注册,然后忽略映射到同一具体类的任何其他接口。
这里有什么明显的东西让我失踪吗? (p.s. im使用.net 3.5,windsor RC3)
答案 0 :(得分:4)
您是否尝试使用不同的语法(AddComponent<>
)进行注册?
尝试更新到最新的trunk版本,看看它是否有帮助。对我来说看起来像个错误。 如果没有发生,请创建一个展示错误的测试,然后将其提交here
答案 1 :(得分:2)
更新到最新的中继线(1015)并使用已解决的类型来解决问题。 : - )