У меня есть приложение, которое загружает плагины путем поиска файлов DLL в папке плагинов. Аналогично тому, что описано в Microsoft: создание приложения .NET Core с плагинами.
Мои плагины становятся все более сложными и имеют различные управляемые и неуправляемые зависимости сторонних производителей.
Я думал о том, чтобы создать отдельную папку для каждого плагина, содержащую его зависимости. Я поигрался с обработчиками AssemblyResolve, чтобы найти правильные сборки для каждого плагина, но я также прочитал, что загрузка разных версий одной и той же сборки в одном домене приложения проблематична.
Я много читал о том, как отдельный AppDomain для каждого плагина, а также про MAF и MEF. Кажется, что все эти решения имеют множество недостатков и накладных расходов, поэтому мне интересно, как их решить.
Я могу гарантировать, что мои плагины не используют разные версии одного и того же. сборка. Поэтому обработчика AssemblyResolve в этом случае достаточно.
А как насчет зависимостей сторонних разработчиков?
Подробнее здесь: https://stackoverflow.com/questions/783 ... pplication