C# 接口库版本控制-中断更改
我目前有一个C#项目,它使用插件,并且有一个相当常见的插件处理方法:IPlugin接口存储在一个dll中,该dll以传统的动态方式链接。主机应用程序查找类库,导出公开此接口的类,并在运行时通过反射加载它们 包含接口的dll还包含帮助器类,用于更新插件、提供抽象基类等C# 接口库版本控制-中断更改,c#,reflection,plugins,interface,versioning,C#,Reflection,Plugins,Interface,Versioning,我目前有一个C#项目,它使用插件,并且有一个相当常见的插件处理方法:IPlugin接口存储在一个dll中,该dll以传统的动态方式链接。主机应用程序查找类库,导出公开此接口的类,并在运行时通过反射加载它们 包含接口的dll还包含帮助器类,用于更新插件、提供抽象基类等 我的问题是,如何打破主机和插件程序集之间的接口?换句话说,如果我编译并分发主机应用程序,然后分发与更高版本的插件dll链接的插件(其中helper类已更改,但IPlugin的定义方式完全相同),主机还会接收插件吗?在我使用的反射方法
我的问题是,如何打破主机和插件程序集之间的接口?换句话说,如果我编译并分发主机应用程序,然后分发与更高版本的插件dll链接的插件(其中helper类已更改,但IPlugin的定义方式完全相同),主机还会接收插件吗?在我使用的反射方法将IPlugin视为不同的“类型”之前,我需要对插件库进行多少更改?如果程序集不是由特定版本加载的,那么我会说,您真正遇到的唯一破坏性更改是在更改接口契约时。如果您只是在更改帮助器类,那么这应该不是问题