小编use*_*209的帖子

StructureMap动态加载插件Dll

问题:将插件加载到控制台应用程序(最终是Windows服务)并在插件dll中运行代码

研究:StructureMap Docs(当然)一些stackoverflow线程这一个最接近. 使用StructureMap创建插件扫描程序

我有3个项目:Console App(Driver)2类库

控制台应用

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();
}
Run Code Online (Sandbox Code Playgroud)

Plugin_2

public interface IPlugable
{      
    void Run();
}

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

public class PlugIn1 : IPlugable
{          
    public …
Run Code Online (Sandbox Code Playgroud)

c# structuremap ioc-container

5
推荐指数
1
解决办法
1219
查看次数

标签 统计

c# ×1

ioc-container ×1

structuremap ×1