我在两个独立的程序集中有两个安装程序,一个在引导程序代码所在的程序集中,另一个在另一个引用程序集中。
我正在这样开始:
container = new WindsorContainer()
.Install(FromAssembly.InThisApplication(), FromAssembly.Named("My.Other.Assembly"));
第二个程序集中的安装程序(“My.Other.Assembly”)由于某种原因被调用两次,这显然会导致尝试注册重复组件时出现问题。
为什么会发生这种情况的任何想法?
答案 0 :(得分:3)
FromAssembly.InThisApplication()
将扫描当前程序集和所有具有当前程序集名称作为前缀的程序集(包括点)。
因此,如果您的应用被调用My
或My.Other
,那么My.Other.Assembly
会因FromAssembly.InThisApplication()
而被扫描,并且会明确将其包含在内
难道这就是搞乱你的事吗?