Я работаю над приложением, в котором мы используем StructureMap 2.5.4 для сканирования каталога, как показано ниже.
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 (). Это работает, и ожидаемые типы зарегистрированы. Но опять же, это не то решение, которое мы можем использовать, так как это вызовет конфликты, перемещая все сборки в базовый каталог приложения. На данный момент я не имею ни малейшего представления о том, что может быть не так.
Любые идеи приветствуются!