В общем, есть MEF, но в локальных масштабах (в рамках одного приложения), есть 1 класс и некие модули, которые он собирает. Раньше было, что как только я написал новый модуль (модули - просто классы), то добавлял его в основной.
Обычно сцепляю части для DI в отдельном модуле, атрибуты не юзаю (мб зря, расскажи потом, как прошло). Так что ничего не подскажу, к сожалению.