【发布时间】:2010-08-06 16:11:23
【问题描述】:
我创建了一个 MEF 插件控件,并将其导入到我的应用程序中。现在,我希望插件能够从应用程序中导入部件。我不知道如何在插件中设置目录,以便它可以从应用程序中找到导出。有人能告诉我这是怎么做到的吗?下面是我的代码,当我尝试使用当前正在执行的程序集创建一个 AssemblyCatalog 时它不起作用。
[Export(typeof(IPluginControl))]
public partial class MyPluginControl : UserControl, IPluginControl
[Import]
public string Message { get; set; }
public MyPluginControl()
{
InitializeComponent();
Initialize();
}
private void Initialize()
{
AggregateCatalog catalog = new AggregateCatalog();
catalog.Catalogs.Add(new AssemblyCatalog(Assembly.GetExecutingAssembly()));
CompositionContainer container = new CompositionContainer(catalog);
try
{
container.ComposeParts(this);
}
catch (CompositionException ex)
{
Console.WriteLine(ex.ToString());
}
}
}
【问题讨论】:
标签: import assemblies export mef