【发布时间】:2011-10-31 23:22:03
【问题描述】:
我想在我的 .net 应用程序中实现一个插件系统,而不使用 MEF。
我的应用程序加载并创建包含在 DLL 中的类型实例。
主应用程序程序集使用一个接口 (IPluginContract) 来加载 dll 类型,并且 dll 项目(插件)使用这个相同的接口来实现它。
所以不同的项目需要访问相同的界面。
我可以通过将接口类推送到单独的类库中来实现这一要求,主应用程序和插件都会引用该类库。
这是解决所描述问题的正确方法吗?
【问题讨论】:
-
实现插件和应用程序都将引用接口 DLL。将插件加载到他们自己的应用程序域中是个好主意。
-
您是否有不能使用 MEF 的原因?
-
很抱歉,我没有看到您不想使用 MEF 的说明。删除了答案。然而,我仍然推荐它。
-
+1 提出了一个很好的问题。我会选择 MEF,但很高兴知道另一种方式也是可能的。
标签: c# .net plugins dll interface