Импорт деталей из X папок с использованием MEF - PullRequest
2 голосов
/ 25 мая 2009

У меня есть несколько папок, которые все содержат части MEF, которые должны быть импортированы. Самый простой способ найти все части для перебора папок и создать объект каталога агрегирования MEF?

Мне нужно разместить детали в разных местах приложения в зависимости от папки, из которой оно было прочитано. Поэтому части из папки «Test1Parts» должны находиться в разделе «Test1» приложения. У меня есть доступное имя папки или все они будут выглядеть одинаково после импорта через каталог агрегирования?

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

Другой способ (если он не может управляться через структуру папок) - это, конечно, использовать файл конфигурации, который я прочитал, прежде чем импортировать, сообщая, какая часть должна идти куда.

Какой будет лучший подход?

Ответы [ 2 ]

1 голос
/ 25 мая 2009

Я думаю, что лучший способ сделать это - иметь отдельный контейнер для каждой папки вместе с соответствующим DirectoryCatalog для частей в этой папке. Если есть части, которые должны быть глобальными, то у вас может быть родительский каталог, содержащий эти детали и дочерние каталоги для каждого каталога.

1 голос
/ 25 мая 2009

Я не на 100% понимаю, что вы пытаетесь сделать, но я предлагаю использовать один Агрегирующий каталог для каждого "раздела" вашего приложения. Затем вы выполняете Compose для каждого раздела на основе каталога деталей для этого раздела. Каждый каталог будет включать только части из соответствующих каталогов (вы также можете иметь несколько общих каталогов, которые загружаются в оба каталога). Это имеет какой-то смысл?

...