1

我在应用程序启动时注册了我的两个接口:-

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。因此,它似乎只获取一个类的第一个注册,然后忽略映射到同一个具体类的任何其他接口。

这里有什么明显的我想念的吗?(ps即时使用.net 3.5,温莎RC3)

4

2 回答 2

4

您是否尝试过使用不同的语法 ( AddComponent<>) 进行注册?

尝试更新到最新的主干版本,看看是否有帮助。对我来说似乎是一个错误。如果没有发生,请创建一个显示错误的测试,并在此处提交

于 2009-01-14T07:16:29.847 回答
2

更新到最新的中继 (1015) 并使用修复了问题的转发类型。:-)

于 2009-01-15T15:14:15.450 回答