如何实现与我的.NET插件体系结构的向后兼容性

如何实现与我的.NET插件体系结构的向后兼容性,.net,deployment,plugins,backwards-compatibility,.net,Deployment,Plugins,Backwards Compatibility,背景: 我正在开发一个具有服务器端插件体系结构的ASP.NET应用程序。 我在pluginInterfaces.NET程序集中定义了一组接口 第三方开发人员可以针对这些接口开发插件程序集,将其程序集放在插件文件夹中,并动态加载以提供新功能 插件将引用插件接口程序集 问题: 将来我可能会用新功能更新我的pluginInterfaces程序集,但它会的 保持100%向后兼容(即接口不会更改)。但是,pluginInterfaces程序集将有一个新的程序集版本号 我希望(第三方)插件程序集继续工作。

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

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

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

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

我希望(第三方)插件程序集继续工作。 但是他们将再也找不到构建它们所依据的插件接口程序集。 pluginInterfaces程序集将有一个强名称,因此插件将查找 具有完全匹配的程序集版本的版本

问题: 实现这一目标的最佳方式是什么?
这就是“发布者策略”的目的吗?

你可以试试。

我认为我们将来需要这样做——将我们的共享程序集放在GAC中,当我们更新它们时,还要在GAC中安装一个策略dll,将对旧版本的引用重定向到新版本。