問題:在DLL的StructureMap動態加載插件DLL的
研究 加載插件到一個控制檯應用程序(Windows服務最終)和運行代碼的插件: StructureMap文件(當然) 數計算器線程這一個是最接近的。 Creating plugin scanner with StructureMap
我有3個項目: 控制檯應用程序(驅動程序) 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();
}
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<IPlugable>();
返回沒有對象:( 所需的輸出:Plugin_1 & Plugin_2
預先感謝的 2對象實例。
顯示ObjectFactory.WhatDoIHave()的輸出, – 2011-05-10 19:26:28