MEF для огромного количества дополнений - PullRequest
0 голосов
/ 14 октября 2019

В настоящее время я работаю над приложением на C #, которое загружает множество различных модулей (драйверы .net для компонентов оборудования и т. Д.). Приложение должно предлагать своего рода менеджер плагинов / надстроек для выбора выделенных модулей (только выделенная группа устройств, фильтров, компонентов). Основываясь на том факте, что существует хорошо зарекомендовавший себя фреймворк MEF, который поставляется из коробки от MS, я подумал, что было бы неплохо попробовать.

Основная проблема, с которой я сейчас сталкиваюсь, этоДело в том, что после сканирования папок для надстроек через DirectoryCatalog все сборки загружаются в процесс (в настоящее время ничего не создается, потому что я использую механизм "Lazy").

Тем не менее, я хочу избежать загрузки всех сборок в процессе, когда пользователь решит выбрать только некоторые из них.

Поэтому я пытаюсь найти способ получить метаданные надстройки, не сохраняя сборки загруженными в процессе. Я видел, что фреймворк Mono.Addins, кажется, поддерживает такой сценарий с манифестами на основе XML - но я не уверен, что подобное можно было бы сделать с MEF?

...