Problema del Plugin DLL: Cargando plugins en una aplicación de consola (servicio de Windows Con el tiempo) y el código que se ejecuta en el enchufe de DLLStructureMap Carga dinámica de
Investigación: StructureMap Docs (por supuesto) Unos hilos stackoverflow este uno siendo el más cercano. Creating plugin scanner with StructureMap
tengo 3 proyectos: aplicación de consola (Driver) 2 Las bibliotecas de clases
consola App
static void Main(string[] args)
{
ObjectFactory.Initialize(cfg => cfg.Scan(scanner =>
{
scanner.AssembliesFromPath(@"PATH TO PLUGIN DIR");
scanner.AddAllTypesOf<IPlugable>();
}));
var list = ObjectFactory.GetAllInstances<IPlugable>();
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!");
}
}
La salida:
ObjectFactory.GetAllInstances<IPlugable>();
no devolvió objetos :( salida deseada: 2 instancias de objetos de Plugin_1 & Plugin_2
Gracias de antemano.
muestran la salida de ObjectFactory.WhatDoIHave() –