Я пытаюсь создать приложение MVC4/MVC5 с подключаемой архитектурой, такой как Orchard CMS. Таким образом, у меня есть приложение MVC, которое будет проектом запуска и позаботится о auth, навигации и т.д. Тогда будет несколько модулей, построенных отдельно как библиотеки классов asp.net или разделенные проекты mvc и имеющие контроллеры, представления, репозитории данных и т.д.
Я целый день проводил обучающие программы в Интернете и загружал образцы и т.д., и обнаружил, что у Kenny лучший пример - http://kennytordeur.blogspot.in/2012/08/mef-in-aspnet-mvc-4-and-webapi.html
Я могу импортировать контроллеры из модулей (отдельные библиотеки DLL), если добавить ссылку на эти DLL. Но причина использования MEF заключается в возможности добавления модулей во время выполнения. Я хочу, чтобы библиотеки DLL вместе с представлениями были скопированы в каталог ~/Modules//в стартовом проекте (мне это удалось), и MEF просто заберет их. Борясь за то, чтобы MEF загружал эти библиотеки.
Существует также MefContrib, как описано в этом ответе Контроллеры ASP.NET MVC 4.0 и MEF, как свести эти два вместе?, что является следующей вещью, о которой я говорю пытаться. Но я удивлен, что MEF не работает из коробки с MVC.
Есть ли у кого-нибудь подобная архитектура, работающая (с MefContrib или без нее)? Первоначально я даже думал о том, чтобы скрыть Orchard CMS и использовать его в качестве рамки, но он слишком сложный. Также было бы неплохо разработать приложение в MVC5, чтобы воспользоваться WebAPI2.