Мой сценарий - классический сценарий MEF. Существует хост-приложение silverlight, и приложение может загружать плагины на лету, чтобы добавить функциональность. Плагины могут быть созданы сторонними разработчиками.
Теперь проблема возникает, когда разные плагины и / или хост-приложение ссылаются на разные версии одной и той же сборки.
Например:
-plugin A ссылается на версию 1.0 инструментария silverlight dll, а плагин B ссылается на версию 2.0 той же dll.
OR
-host app ссылается на версию 1.0 реактивных расширений dll, а плагин C ссылается на версию 2.0 того же dll.
Это проблема, которая очень вероятно случится.
Плагины и хост все должны быть независимыми, но с учетом этой проблемы я понимаю, что данный плагин может работать некоторое время, а затем я обновляю ссылку на приложение хоста или добавляю новый плагин, вызывая другой сломаться.
Я провел некоторое исследование по загрузке сборки Silverlight и считаю, что одновременно может быть загружена только одна версия данной сборки.
Поэтому я не знаю, как справиться с этим.
Есть идеи по этому поводу?