2

我将在我们的 WPF 项目中使用,因为我需要一个允许多个插件加载运行时的强大加载项架构。我仍处于 MAF-Addin 管道框架的学习阶段。

  • WPF 宿主应用程序将在运行时发现并加载其插件程序集。

  • 插件将由在他们自己的域中运行的未知第三方创建,因此必须对它们进行沙盒处理以防止它们使主应用程序崩溃。

我有一些非常基本的疑问:

  • 第三方可以使用任何语言/技术来编写插件并且可以在主机端与 MAF(System.Addins) 一起使用吗?还是必须支持.NET?

  • 第三方将为我们编写插件,我们将在我们的 WPF 应用程序中集成他们的插件。关于我们的插件 MAF (addIn) 框架,我们是否需要向他们传达某些要求?除了我们的应用程序主要 API 功能之外,他们是否需要遵循某些 MAF 准则?

4

1 回答 1

2

关于第三方插件的语言/技术,它必须是 .NET 程序集。这并不意味着插件的 .NET 程序集不能使用本机 dll 或 COM 对象。

关于插件开发人员的指南,这取决于您的合同。

如果您System.Addin虔诚地遵循了合同准则,那么插件开发人员不应该关心它。他们只需要实现加载项的视图。

另一方面,如果您没有遵循合同指南(例如,通过System.Object在您的合同中使用),那么您可能需要插件开发人员遵循在特定条件下可能需要的额外指南(例如,单独的 AppDomains 或进程中的插件)。

于 2014-01-02T11:39:44.220 回答