В настоящее время у меня есть проект C #, который использует плагины и имеет довольно распространенный подход к обработке плагинов: интерфейс IPlugin хранится в dll, который связан традиционным динамическим способом.Хост-приложение ищет библиотеки классов, экспортирующие классы, обнажающие этот интерфейс, и загружает их посредством отражения во время выполнения.
DLL-библиотека, содержащая интерфейс, также содержит вспомогательные классы для обновления плагинов, предоставления абстрактных базовых классов и т.1003 *
Мой вопрос: что нужно для разрыва интерфейса между моим хостом и сборками плагинов?Другими словами, если я скомпилирую и распространю приложение хоста, а затем распространю плагины, которые были связаны с более поздней версией плагина dll (в котором изменились классы помощника, но IPlugin определен точно так же), будет ли хоствсе еще подбираете плагины?Сколько изменений мне нужно внести в библиотеку плагинов, прежде чем IPlugin будет считаться другим «типом» методами отражения, которые я использую?