5

我在 MEF2 上找不到任何好的例子。

我想创建一个插件目录并使用目录目录来加载 Imports。

我想要什么:

  1. 没有属性。使用带有约定的配置生成器
  2. 插件目录
  3. 添加 dll 时,应用程序知道有新的导出可用。

我可以为此使用温莎城堡吗?

4

2 回答 2

3

如果您指的是nuget 上可用的新 Windows Store 版本的 MEF ,则文档指出,

没有目录概念,也没有组合批次,也没有任何“容器层次结构”或组合范围 API。

对于 MEF 1 开发人员来说听起来很疯狂,但该页面很好地解释了基本原理。但是,您需要

  • 添加 dll 时,应用程序知道有新的导出可用。

这在 MEF 2(Win Store)版本中明确不可用,因为它不支持重新组合。 为此,您需要.NET Framework 中的“完整”MEF,在System.ComponentModel.Composition.

于 2014-03-28T13:49:25.590 回答
1

MEF2 引入的约定模型是属性模型的替代方案。两种模型可以共存于一个应用程序中。目录有一个以 aReflectionContext作为参数的新构造函数。RegisrationBuilder 派生自此类。因此,您创建一个 RegistrationBuilder,对其进行设置,然后使用新的 .ctors 创建一个或多个目录,并将其作为 ReflectionContext 传递。

看看这一系列介绍 MEF2 功能的文章。另请查看CodeProject 中的这篇介绍性文章

我没有用过温斯多城堡,所以我不能对此发表评论。

于 2013-08-08T20:38:14.197 回答