Модули поддержки архитектуры проекта MVC - PullRequest
4 голосов
/ 20 января 2012

Мне нужен мой проект MVC 3.0 для поддержки модулей. Под модулем я подразумеваю наличие отдельной библиотеки, которая включает в себя виды моделей и контроллеры. Причина этого состоит в том, чтобы иметь многоразовые части приложения, которые могут использоваться несколькими приложениями.

Лучшим для меня было бы иметь эти модули в качестве mvc-приложений - чтобы работали надстройки для mhc visual studio. Я имею в виду intellisense, навигацию контроллера, экраны представления и создания контроллера и т. Д. Если я включу эти классы в общую библиотеку классов, функциональность исчезнет.

Настройка приложения для использования моих контроллеров из приложения "module" довольно проста.

    routes.MapRoute(
            "Default", // Route name
            "{controller}/{action}/{id}", // URL with parameters
            new { controller = "Home", action = "Index", id = UrlParameter.Optional } // Parameter defaults
            , new[] { "ModuleApplication1.Controllers" }
        );

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

Признаюсь, я новичок в MVC.

Я что-то упустил? Есть ли какое-то решение этого? Мой подход совершенно неправильный?

1 Ответ

2 голосов
/ 20 января 2012

Вы можете использовать MvcContrib Переносные зоны, они предназначены именно для этого сценария.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...