maf - 托管插件框架是否存在

标签 maf

我需要使用在他们的 AppDomain 中执行的加载项来实现解决方案。我遇到了 MAF,根据描述,这是我需要的。

然而,文档及其 CodePlex 项目似乎有点过时,文档中的某些页面不存在“当前版本”的 .NET。

我还发现了有关 MAF 的陷阱和复杂性的帖子。

所以我现在不确定我应该使用它还是自己完成所有工作(加载项管理、加载/卸载 AppDomain 等)。

任何想法和/或经验表示赞赏

最佳答案

MAF 是 .Net 框架的一个受支持部分,但多年来一直没有受到太多关注。

优点

  • 支持插件的进程/应用域外加载
  • 支持插件的向后兼容性

  • 缺点
  • 复杂(管道中需要 5 个 DLL)
  • 需要投资工具(您需要更新/维护自己的管道生成代码副本)
  • 自发布以来未收到任何功能更新
  • 网上没有太多关于人们遇到的最佳实践或问题的信息

  • 虽然该列表中有更多缺点,但它确实有效,并且大部分都符合您的期望。我的建议是尝试一下,看看它是如何工作的。归根结底,您的 API 的使用者正在使用一个接口(interface),并且您将来可以随时更换 MAF 层,并且您的插件不需要更改。

    关于maf - 托管插件框架是否存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41224852/

    相关文章:

    .net - 在 MEF 和 MAF 之间进行选择 (System.AddIn)

    使用 System.Addin (MAF) 的 C# 源代码示例?

    asp.net - 如何在 ASP .NET 中动态插入网页(并更新插件)?

    c# - 将 async/await 与托管插件框架结合使用

    c# - 如何将自动映射器与 System.AddIn 一起使用?

    remoting - System.AddIn 主要是为了让远程处理的使用变得更容易还是让使用变得更困难?

    c# - 农夫。从加载项端调用

    .net - 为作为单独进程运行的 MAF 插件指定一个自定义名称