【问题标题】:How to achieve backwards compatibility with my .NET plugin architecture如何实现与我的 .NET 插件架构的向后兼容性
【发布时间】:2011-03-10 14:32:10
【问题描述】:

背景: 我正在开发一个带有服务器端插件架构的 ASP.NET 应用程序。 我在 pluginInterfaces .NET 程序集中定义了一组接口。

第三方开发人员可以针对这些接口开发插件程序集,将其程序集放在插件文件夹中,然后动态加载以提供新功能。

插件将引用插件接口程序集。

问题: 将来我可能会用新功能更新我的 pluginInterfaces 程序集,但它会 保持 100% 向后兼容(即接口不会改变)。但是 pluginInterfaces 程序集将有一个新的程序集版本号。

我希望(第三方)插件程序集继续工作。 但是他们将不再找到他们构建时所针对的 pluginInterfaces 程序集。 pluginInterfaces 程序集将具有强名称,因此插件将查找 与程序集版本完全匹配的版本。

问题: 实现这一目标的最佳方法是什么? 这就是“发布商政策”的用途吗?

【问题讨论】:

    标签: .net deployment plugins backwards-compatibility


    【解决方案1】:

    你可以试试binding redirection

    【讨论】:

    • 我认为我们将来需要这样做 - 将我们的共享程序集放在 GAC 中,当我们更新它们时,还会将策略 dll 安装到 GAC 中,将对旧版本的引用重定向到新版本。
    猜你喜欢
    • 1970-01-01
    • 2011-04-04
    • 2011-10-13
    • 1970-01-01
    • 2015-11-25
    • 2011-08-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多