为什么我的一个温莎安装工被叫两次?

时间:2012-06-12 09:36:53

标签: castle-windsor

我在两个独立的程序集中有两个安装程序,一个在引导程序代码所在的程序集中,另一个在另一个引用程序集中。

我正在这样开始:

container = new WindsorContainer()
   .Install(FromAssembly.InThisApplication(), FromAssembly.Named("My.Other.Assembly"));

第二个程序集中的安装程序(“My.Other.Assembly”)由于某种原因被调用两次,这显然会导致尝试注册重复组件时出现问题。

为什么会发生这种情况的任何想法?

1 个答案:

答案 0 :(得分:3)

FromAssembly.InThisApplication()将扫描当前程序集和所有具有当前程序集名称作为前缀的程序集(包括点)。

因此,如果您的应用被调用MyMy.Other,那么My.Other.Assembly会因FromAssembly.InThisApplication()而被扫描,并且会明确将其包含在内

难道这就是搞乱你的事吗?