如何指定要使用System.Composition(MEF2)加载哪些DLL?

时间:2016-01-26 10:19:55

标签: c# mef system.componentmodel system.composition

我正在开发一个新的插件加载器应用程序框架并阅读所有可用的MEF变体,我认为最具前瞻性和灵活性的是NuFet提供的MEF2实现System.Composition

不幸的是,大多数(如果不是全部)在线教程都是针对MEF1编写的,即System.ComponentModel.Composition并使用从{1}创建的AssemblyCatalog。显式查找目录中的DLL并将其传递给MEF CompositionContainer

MEF2没有这个对象,因此我仍然不清楚MEF2在哪里找到它的组件。它们是否可以在运行时定位(这意味着每个插件都需要添加为加载插件的应用程序的引用)?这会让我感到奇怪。

任何人都可以在System.Composition中阐明如何指定从哪里装载哪些装配(以及我应该在地球上如何设置)? 我知道MEF2的设计考虑了PCL(我正在编写桌面应用程序),但如果只有很小的设置价格来支付这种未来的可移植性,我就是全力以赴。如果没有,我会屈服于使用System.ComponentModel.Composition我可以弄清楚。

0 个答案:

没有答案