Как загрузить две сборки разных версий?

Есть библиотеки разных версий:
1) Name = "MyLibrary", Version = 1.2.0, publicKeyToken=null
2) Name = "MyLibrary", Version = 1.8.1, publicKeyToken=NOTNULL
Как их загрузить и вместе использовать?
  • Вопрос задан
  • 336 просмотров
Решения вопроса 1
На net framework ты можешь динамически загрузить разные версии сборок в один AppDomain, если они имеют строгое имя (с publicKey) и имеют разные номера версий.

Если какая-то из сборок или обе не имеют publicKey, то тогда ты можешь динамически создать новый AppDomain и загрузить сборки в разные домены.
Но тогда вместе их использовать не получится.
https://stackoverflow.com/questions/20686362/c-sha...

Ещё, если вдруг это какие-то зависимости у тебя требуют разные версии библиотек - ты можешь сделать так называемый binding redirect

А на net (core) ты можешь использовать AssemblyLoadContext из ответа 0x25CBFC4F
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@0x25CBFC4F
Сталкивался с той же задачей.
Можно использовать AssemblyLoadContext.
Ответ написан
MDiMaI666
@MDiMaI666
Талантливый программист
Создать проект рядом. И к нему другую версию подключить. И дергать через него
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы