我在我的测试项目中使用 Castle Windsor 进行依赖注入。我正在尝试创建我的“存储库”类之一的实例。“它在我的机器上运行良好”,但是当我在 TFS 中运行每晚构建时,我的测试无法加载所述类。
private static readonly WindsorContainer _container = new WindsorContainer(new XmlInterpreter());
public void MyTestInitialize()
{
var testRepository = (IBogusRepository)_container[typeof(IBogusRepository)];
}
xml配置:
<castle>
<components>
<component id="primaryBogusRepository" type="Example2008.Repository.LALALALALA, Example2008.Repository" service="Example2008.Domain.Repository.IBogusRepository, Example2008.Domain" />
<component id="primaryProductRepository" type="Example2008.Repository.ProductRepository, Example2008.Repository" service="Example2008.Domain.Repository.IProductRepository, Example2008.Domain" />
</components>
</castle>
当我对新构建进行排队时,它会产生以下消息:
无法创建类 Example2008.Test.ActiveProductRepositoryTest 的实例。错误:System.Configuration.ConfigurationException:找不到类型名称 Example2008.Repository.LALALALALA,Example2008.Repository。
Castle.Windsor.Installer.DefaultComponentInstaller.ObtainType(String typeName) Castle.Windsor.Installer.DefaultComponentInstaller.SetUpComponents(IConfiguration[] 配置,IWindsorContainer 容器) Castle.Windsor.Installer.DefaultComponentInstaller.SetUp(IWindsorContainer 容器,IConfigurationStore 存储) Castle.Windsor .WindsorContainer.RunInstaller() Castle.Windsor.WindsorContainer..ctor(IConfigurationInterpreter 解释器) Example2008.Test.ActiveProductRepositoryTest..cctor() in d:\Code_Temp\Example Project Nightly\Sources\Example2008.Test\ProductRepositoryTest.cs:第 19 行
从这条消息看来,我的配置是正确的(可以看出我要实例化具体类'LALALALALA',所以xml配置明显已经正确的红色了)
我认为我的依赖项设置也正确(因为它在本地工作,即使我清理解决方案并重建)。
有什么想法吗?
(顺便说一句,使用 VS2008、TFS 2008.Net 3.5、Castle 1.03)