Насколько мне известно, ни одна из популярных платформ MVVM (Prism, Caliburn, Calcium и т. Д.) Не поддерживает жизненный цикл модуля между приложениями и, что не менее важно, обмен сообщениями между приложениями из коробки.Тем не менее, невозможно настроить любой из них так:
- позволяет загружать модули в разные домены приложений, возможно, в зависимости от некоторого параметра конфигурации;
- создать удаленный прокси дляих компоненты обмена сообщениями (например, агрегатор событий в Prism), так что сообщение сериализуется в другой домен приложения.
Для одного Prism4 допускает несколько точек расширяемости в своем загрузчике, каталоге модулей и компонентах поиска служб.Таким образом, загрузка DLL и инициализация их точек входа на другом домене приложения не слишком сложна.Создание удаленного прокси-сервера агрегатора событий немного сложнее.
Я лично прибегнул к созданию другого брокера сообщений, который работает как в межпроцессном режиме, так и внутри одного и того же домена приложения, однако мне пришлось написать его изцарапина.