【问题标题】:Is Managed Addin Framework alive托管插件框架是否存在
【发布时间】:2016-12-19 14:33:13
【问题描述】:

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

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

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

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

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

【问题讨论】:

  • 如果您投了反对票,请发表评论吗?

标签: maf


【解决方案1】:

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

优点

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

缺点

  1. 复杂(管道中需要 5 个 DLL)
  2. 需要投资工具(您需要更新/维护自己的管道生成代码副本)
  3. 自发布以来未收到任何功能更新
  4. 网络上没有很多关于人们遇到的最佳做法或问题的信息

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

【讨论】:

  • 感谢您的洞察力。您能否详细说明支持是什么意思?只是它是.Net 的一部分吗?我有点不愿意使用它(推荐给我的客户),因为它似乎没有得到积极维护(至少是文档和社区内容)。
  • 当我说支持时,我的意思是如果存在严重的错误/安全漏洞,您可以致电 Microsoft 支持并可能会得到修复。我理解不愿意使用它,我可能也会犹豫。我一直在关注的一件事是 .net 核心。如果它被移植到那里,那么使用起来可能非常安全。
  • in this panel at build'17 channel9.msdn.com/Events/Build/2017/B8902 最后一个问题(大约 55 分钟)讨论了这个问题(如果将 maf 移植到核心),答案是 - 非常不可靠,因此受欢迎程度是即使在微软也很小
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-17
相关资源
最近更新 更多