Спасибо за оба ответа, оба из которых выглядят очень хорошо. Во время утренней пробежки я придумал третий подход и думаю, что попробую этот:
Я загружаю все модули в моём приложении Composite WPF при запуске и активирую только те виды, которые будут показаны изначально. Итак, все мои модули, даже те, которые не показаны, будут доступны после завершения запуска.
Когда они инициализируются, каждый модуль, которому требуется путь к файлу, будет подписываться на составное событие FileOpened в агрегаторе событий Prism. Когда файл открывается из командной консоли, модель представления оболочки публикует составное событие FileOpened. Составное событие будет содержать путь к файлу в качестве полезной нагрузки.
Таким образом, когда событие FileOpened публикуется моделью представления Shell, соответствующий метод обратного вызова в каждом модуле будет вызываться агрегатором событий Prism, а filePath будет передаваться в модель представления каждого модуля.