StructureMap Динамическая загрузка библиотеки подключаемых модулей

Проблема: Загрузка подключаемых модулей в консольное приложение (в конечном итоге служба Windows) и запуск кода в подключаемой библиотеке

Research: Документы StructureMap (конечно) Несколько потоков stackoverflow, этот самый близкий. Создание плагина сканера с StructureMap

У меня 3 проекта: Консольное приложение (драйвер) 2 библиотеки классов

Консольное приложение

static void Main(string[] args)
{
    ObjectFactory.Initialize(cfg => cfg.Scan(scanner =>
    {
        scanner.AssembliesFromPath(@"PATH TO PLUGIN DIR");
        scanner.AddAllTypesOf();
    }));

    var list = ObjectFactory.GetAllInstances();

    foreach (var plug in list)
    {
        plug.Run();
    }
}

public interface IPlugable
{
    void Run();
}

Plugin_2

public interface IPlugable
{      
    void Run();
}

public class PlugIn2 : IPlugable
{    
    public void Run()
    {
        Console.WriteLine(this.GetType().Name + "fired!");
    }
}

public interface IPlugable
{     
    void Run();
}

public class PlugIn1 : IPlugable
{          
    public void Run()
    {
        Console.WriteLine(this.GetType().Name + "fired!");
    }
}

Вывод:

ObjectFactory.GetAllInstances();

не возвращает объектов :( Желаемый результат: 2 экземпляра объекта Plugin_1 и Plugin_2

Заранее благодарим.

5
задан Community 23 May 2017 в 12:26
поделиться