托管加载项框架 (MAF) - 托管第三方加载项



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

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

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

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

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

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

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

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

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

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

最新更新