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