1
我目前有一个C#项目,它使用插件,并具有相当常见的插件处理方法:IPlugin接口存储在以传统动态方式链接的dll中。宿主应用程序查找类库,导出暴露此接口的类并在运行时通过反射装载它们。接口库版本控制 - 重大更改
包含接口的dll还包含helper类,用于更新插件,提供抽象基类等等。
我的问题是,需要什么来打破我的主机和插件程序集之间的接口?换句话说,如果我编译并分发主机应用程序,然后分发与插件dll的更高版本(其中帮助程序类已更改,但IPlugin的定义方式完全相同)的插件,则主机仍然拿起插件?在我使用反射方法将IPlugin视为不同的“类型”之前,需要对插件库做多少改变?