Я пытаюсь реализовать архитектуру в стиле подключаемого модуля. Есть основные, внешние библиотеки, используемые как плагинами, так и в основном приложении. Хорошим примером такой библиотеки является JSON.NET.
При разработке подключаемых модулей я ссылаюсь на ту же версию JSON.NET, на которую ссылается основное приложение. Когда подключаемый модуль скомпилирован, я не выполнял слияние внешних библиотек с подключаемым модулем, поскольку ожидал, что ссылки будут разрешаться в одни и те же сборки, загруженные основным приложением.
Однако это не работает. Когда я пытаюсь вызвать методы подключаемого модуля в основном приложении, я получаю ошибку «не удалось загрузить сборку ...».
Как заставить динамически загружаемые плагины разрешать ссылки на ссылки основного приложения?