【问题标题】:.NET Plug In ... where to go.NET 插件...去哪里
【发布时间】:2010-01-10 11:58:26
【问题描述】:

我正在编写一个 Windows 应用程序,它通过其 API 连接到网上商店并读取/写入值。

网上商店可以有多个支付网关,我正在考虑为每个支付网关编写一个插件并创建一个用户界面,该界面可用于选择每个支付网关并加载正确的程序集...

我的想法是拥有多个库 (.dll) 并在设置后加载正确的库...

我确实认为这是 80 年代后期的发展,所以我想知道是否有任何新东西可以帮助我在 .NET 3.5 SP1 上发展这种行为

我是这个问题的新手,为此我想问你解决这个问题的最佳方法是什么。

谢谢。

P.S. 我读过关于 MEF (Managed Extensibility Framework) 但它仍然是预览版(MEF 预览版 8 是当前版本),并且只能在 .NET 4.0 上使用,所以我不能那样做:-(

【问题讨论】:

    标签: .net .net-3.5 plugins extensibility


    【解决方案1】:

    看看MEFUnity,它们是Microsoft 的两个非常有用的项目,应该有助于您的应用程序的可扩展性(MEF 实际上在VS2010 中用于支持扩展)。

    【讨论】:

    • 我刚刚更新了我不能使用 MEF ... 很快我按下了编辑我得到了你的答案 :) 但它仍然是非常新的技术,我不能将我的应用程序基于 beta/preview状态。在 MEF 到来之前人们做了什么?
    • 好吧,就像我说的,还有 Unity 选项。这真的只是一个 D.I.容器,但它可以用作插件架构的基础。如果您正在使用 Silverlight 或 WPF,您还可以查看 compositewpf.codeplex.com
    【解决方案2】:

    在 .NET 3.5 的 System.Addin 命名空间中添加了许多帮助程序类。这些有助于解决许多样板代码和此类开发的更困难的方面(例如在启动和运行时加载和删除插件以及代码隔离),但它们仍然遵循您的基本模式描述。

    我没有亲自在现实世界的代码中使用过它们,但我对它们感到一团糟,乍一看它们似乎工作得很好。

    可以在here找到概述。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-04
      • 1970-01-01
      • 2012-08-06
      • 1970-01-01
      • 2012-03-30
      • 1970-01-01
      • 2014-01-08
      • 1970-01-01
      相关资源
      最近更新 更多