namespaces - Castle Windsor 从 2 个不同的程序集和命名空间注册接口和实现
问题描述
我有 2 个类库和 1 个 winform 项目。
具有命名空间的类库项目IViews
包含声明的所有接口。具有命名空间的类库项目Views
包含在IViews
.
现在在 WinForm 项目中,我正在尝试配置 Castle Windsor 注册。请注意,所有这 3 个都是不同的项目、命名空间和程序集。
在注册时,我写了下面的代码。
WindsorContainer container = new WindsorContainer();
container.Register(
Classes.FromAssemblyContaining<IMainView>()
.InSameNamespaceAs<frmMain>()
.WithServiceDefaultInterfaces()
);
当我尝试通过下面的代码行获取 ILimitView 的对象时,我收到如下错误。ILimitView 接口由 frmLimitView 类在与 frmMain 相同的项目、程序集和命名空间中实现。
container.Resolve<ILimitView>();
抛出异常:Castle.Windsor.dll 中的“Castle.MicroKernel.ComponentNotFoundException”
现在我已经逐行注册了各个接口和实现,但是如果我可以使用包含所有接口和实现的程序集和命名空间来注册它们会很棒。
请您在这里说明一下我的代码出了什么问题,或者提供一个关于如何实现它的示例?
解决方案
推荐阅读
- python-3.x - 如何在python中制作网络监听器?
- amazon-web-services - AWS API GATEWAY - 空响应正文
- html - 标签没有在html中创建新行
- javascript - 延迟后播放声音数组
- android-fragments - 将父片段设为空,如何解决?
- python - 如何在python中使用正则表达式删除字符串的右侧元素?
- mongodb - 有没有办法将 Mongoose 文档 ObjectId 转换为字符串?
- android - 从火力基地加载帖子
- java - Mockito UnfinishedVerificationException
- javascript - 如何测试酶的内部功能?