1
我目前有一個C#項目,它使用插件,並具有相當常見的插件處理方法:IPlugin接口存儲在以傳統動態方式鏈接的dll中。宿主應用程序查找類庫,導出暴露此接口的類並在運行時通過反射裝載它們。接口庫版本控制 - 重大更改
包含接口的dll還包含helper類,用於更新插件,提供抽象基類等等。
我的問題是,需要什麼來打破我的主機和插件程序集之間的接口?換句話說,如果我編譯並分發主機應用程序,然後分發與插件dll的更高版本(其中幫助程序類已更改,但IPlugin的定義方式完全相同)的插件,則主機仍然拿起插件?在我使用反射方法將IPlugin視爲不同的「類型」之前,需要對插件庫做多少改變?