其他分享
首页 > 其他分享> > CodeGo.net> MEF一一加载DLL

CodeGo.net> MEF一一加载DLL

作者:互联网

我正在尝试使用MEF在需要时加载DLL,但是,我阅读的教程中的信息并不是最有用.

This site提供了一些代码(如下所示),但并没有真正解释任何内容.

private void LoadPlugins() {
  var catalog = new AssemblyCatalog(Assembly.GetExecutingAssembly());
  var container = new CompositionContainer(catalog);
  var batch = new CompositionBatch();
  batch.AddPart(this);
  container.Compose(batch);
}

基本上,我有一个带有Run方法的接口,并且正在用几个DLL实现该接口.我追求的是能够做这样的事情(伪代码)

bob = LoadDll(dllPath);
bob.Run();

有没有一种方法可以指定“ bob”的类型,还是通用的?如果有人可以提供帮助,我将不胜感激!

解决方法:

本文是否对您有帮助:MEF Load Plugins(dlls) from folder not in Executing assembly but another dll.Can you help?
我认为,基本上,解决方案是使用AssemblyCatalog加载程序集.

标签:mef,c
来源: https://codeday.me/bug/20191209/2095353.html