Подтвердить что ты не робот

Несколько проектов ASP.NET MVC, которые строятся как одно приложение ASP.NET MVC

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

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

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

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

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

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

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

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

Ответ 3

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

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

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

Ответ 5

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

Ответ 6

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

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

Ответ 7

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

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