2010-01-29 79 views
1

我正在使用StructureMap 2.5.4扫描类似下面的目录的应用程序。使用StructureMapMap中的AssembliesFromPath扫描类型

ObjectFactory.Configure(scanner => scanner.Scan(x => 
{ 
    x.AssembliesFromPath(settings.Directory); 
    x.AddAllTypesOf(typeof(IScannerConvention)).NameBy(n => n.Name); 
})); 

出于某种原因,实施IScannerConvention的类型未注册。如果我们将AddAllTypesOf更改为typeof(object),我们可以看到我们正在寻找的类型被注册到容器中,但这显然不是我们想要做的。我们也尝试将包含实现IScannerConvention的类型的程序集移动到应用程序基目录并使用x.AssembliesFromApplicationBaseDirectory()。这工作和预期的类型被注册。但是,这不是我们可以使用的解决方案,因为它会导致将所有程序集移动到应用程序基目录的冲突。在这一点上,我真的不知道什么是错的。

任何想法都是最受欢迎的!

回答