Ответ 1
ASP.NET MVC V2 имеет функцию "Области", которая позволяет вам иметь отдельные проекты, на которые ссылается основное приложение. Проверьте ScottGu post.
Мы хотим разбить наше большое веб-приложение asp.net mvc на несколько проектов Visual Studio, чтобы каждая команда могла самостоятельно работать над проектом своей визуальной студии.
Желаемая структура:
Каждый модуль должен содержать собственный контроллер и представления, которые отвечают за функционирование модуля. Т
Как разбить приложение ASP.NET на несколько проектов, а затем объединить их как один веб-сайт во время процесса сборки?
ASP.NET MVC V2 имеет функцию "Области", которая позволяет вам иметь отдельные проекты, на которые ссылается основное приложение. Проверьте ScottGu post.
Проблема сортируется путем создания нескольких проектов MVC и слияния вывода в конце с помощью простой копирования и вставки:)
вот структура, которой мы следовали:
В конце мы используем скрипты сборки для объединения вывода всех проектов и создания файлов, необходимых для запуска всего веб-приложения.
Если вам нужна помощь в реализации аналогичного решения, свяжитесь со мной по адресу текст ссылки
Один инструмент, который может вас заинтересовать, называется ILMerge
Это инструмент, который позволит вам объединить несколько сборников .Net в одну DLL. Его можно использовать для объединения вывода нескольких проектов в одну DLL для развертывания.
Я никогда не пробовал его с Asp.Net MVC, и я недостаточно знаком с архитектурой MVC, чтобы сказать, будет ли это работать для вашей ситуации. Но это, вероятно, стоит попробовать.
Следуйте по этой ссылке, это решит вашу проблему.
Проходит всего 10 минут, чтобы завершить прогулку.
Пошаговое руководство. Организация приложения ASP.NET MVC по логическим областям
Если вашему приложению не нужны области, и ваша цель - просто обеспечить независимость команды, почему бы просто не использовать лучшую систему управления исходным кодом? Если у вас нет действительно независимых модулей, звучит как управление через ветки в subversion.
Один из способов, которым мы это выполняли в моей предыдущей задаче, состоял в том, чтобы создать приложение-мастер-контроллер. Это приложение было развернуто и было открыто. Задача заключалась в том, чтобы прочитать входящий URL-адрес и, основываясь на связке правил сопоставления в файлах конфигурации, сопоставить этот URL-адрес другим приложениям MVC, работающим на одном сервере. Это дало нам множество возможностей, таких как возможность запуска приложений поддержки на разных серверах в ферме, если мы хотим выполнить грубую балансировку нагрузки. Вам нужно управлять такими вещами, как аутентификация в нескольких приложениях (если вы используете аутентификацию).
Это в основном дает вам возможность иметь как можно больше различных приложений MVC, поскольку вам нужно работать на серверах с одним и тем же передним контроллером (по существу)
Вы можете просто использовать хороший Source Control и иметь соответствующие команды, чтобы проверить, что им нужно для работы.
Таким образом, во время компиляции у вас есть только одна DLL...