Несколько проектов ASP.NET MVC, которые создаются как одно приложение ASP.NET MVC - PullRequest
16 голосов
/ 29 июля 2009

Мы хотим разделить наше большое веб-приложение asp.net mvc на несколько проектов Visual Studio, чтобы каждая команда могла независимо работать над проектом Visual Studio.

Желаемая структура:

  1. ASP.NET MVC приложение, которое отвечает за базовый интерфейс пользователя
  2. Модуль 1 - Проект VS (Должно ли это быть приложение ASP.net MVC или .dll?)
  3. Модуль 2 - Проект VS (Должно ли это быть приложение ASP.net MVC или .dll?)
  4. и так далее.

Каждый модуль должен содержать свой собственный контроллер и представления, которые отвечают за функционирование модуля. T

Как разделить приложение ASP.NET на несколько проектов, а затем объединить их как один веб-сайт в процессе сборки?

Ответы [ 7 ]

8 голосов
/ 01 сентября 2009

ASP.NET MVC V2 имеет функцию под названием Areas, которая позволяет создавать отдельные проекты, на которые ссылается основное приложение. Посмотрите сообщение ScottGu .

3 голосов
/ 01 сентября 2009

Проблема решается простым созданием нескольких проектов MVC и объединением результатов в конце с помощью простого копирования и вставки:)

вот структура, которой мы следовали:

  • MyApp.Web.Shell (просто содержит темы, CSS, JS и изображения, необходимые для веб-приложения)
  • MyApp.Web.Home
  • MyApp.Web.UserManagement
  • MyApp.Web.DeviceManagement
  • MyApp.Web.ContentManagement
  • ..... и т.д ...

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

Если вам нужна помощь в реализации аналогичного решения, свяжитесь со мной по текст ссылки

2 голосов
/ 29 июля 2009

Один инструмент, который вас может заинтересовать, называется ILMerge

Это инструмент, который позволит вам объединить несколько сборок .Net в одну DLL. Его можно использовать для объединения результатов нескольких проектов в одну DLL для развертывания.

Я никогда не пробовал это с Asp.Net MVC, и я недостаточно знаком с архитектурой MVC, чтобы сказать, будет ли она работать в вашей ситуации. Но это, вероятно, стоит попробовать.

1 голос
/ 19 сентября 2009

Перейдите по этой ссылке, чтобы решить вашу проблему.

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

Пошаговое руководство. Организация приложения ASP.NET MVC по логическим областям

0 голосов
/ 01 сентября 2009

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

Таким образом, у вас есть только одна dll во время компиляции ...

0 голосов
/ 01 сентября 2009

Одним из способов, которым мы справились с этим в моей предыдущей работе, было создание главного приложения-контроллера. Это приложение было развернуто и было общедоступным. Его задача состояла в том, чтобы прочитать входящий URL-адрес и, основываясь на куче правил отображения в файлах конфигурации, сопоставить этот URL-адрес с другими приложениями MVC, работающими на том же сервере. Это дало нам множество возможностей, таких как возможность запуска вспомогательных приложений на разных серверах в ферме, если мы хотим выполнить грубую балансировку нагрузки. Вам необходимо управлять такими вещами, как аутентификация в нескольких приложениях (если вы используете аутентификацию).

Это в основном дает вам возможность иметь столько разных приложений MVC, сколько вам нужно, на серверах с одним и тем же фронт-контроллером (по сути)

0 голосов
/ 30 августа 2009

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

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