C# 如何在单元测试程序集中重新配置Castle Windsor注册

C# 如何在单元测试程序集中重新配置Castle Windsor注册,c#,inversion-of-control,castle-windsor,C#,Inversion Of Control,Castle Windsor,我们的项目最近继承了一些依赖于Castle Windsor 2.5.2的代码。就我的问题而言,继承的代码无法重构 在新代码的模型程序集中(包含IUnitOfWork实现),有一个默认的IWindsorInstaller实现,它有一个默认的安装方法,该方法使用LifestyleType.PerWebRequest实例化EF组件 现在,我是一个Castle Windsor noob,但我突然想到,在任何IoC体系结构中,应用程序中最低级别的程序集可能不应该注册自己的类型;最高级别的程序集应该注册它需

我们的项目最近继承了一些依赖于Castle Windsor 2.5.2的代码。就我的问题而言,继承的代码无法重构

在新代码的模型程序集中(包含IUnitOfWork实现),有一个默认的IWindsorInstaller实现,它有一个默认的安装方法,该方法使用LifestyleType.PerWebRequest实例化EF组件


现在,我是一个Castle Windsor noob,但我突然想到,在任何IoC体系结构中,应用程序中最低级别的程序集可能不应该注册自己的类型;最高级别的程序集应该注册它需要的所有内容

尽管如此,在这一点上还是给出了模型级安装程序。2.5.2也是如此;在3.2中,我相信我可以做到:

container.Register(
   Classes.FromThisAssembly()
   .BasedOn<MyType>()
   .Configure(c => c.Lifestyle.Transient)
);

如果您对如何在2.5.2中做到这一点有任何建议,我们将不胜感激。谢谢。

最高级别的程序集应该注册它需要的所有内容。是的,这个概念被称为。