В настоящее время я начинаю разработку нового веб-сайта с использованием ASP.Net Webforms. Чтобы дать этому проекту надлежащее начало, я изучаю установку визуального студийного решения для приложения, где я хочу, чтобы мое приложение состояло из легко узнаваемых компонентов, которые равны по размеру (строки кода).Несколько проектов веб-приложений в визуальном студийном решении
Поскольку проект еще не начался, я структурировал решение в стандартной трехуровневой настройке (данные, бизнес-логику и презентацию). Эта настройка хороша в начале проекта, но по мере того, как проект будет расти, три уровня скоро начнут становиться крупными, а навигацию и поиск кода станет сложнее, что может повредить ремонтопригодность и общее качество.
Так что во время проекта я хочу преобразовать в новую установку, где я формирую функциональные компоненты, каждая из которых имеет свою собственную трехуровневую настройку. Например: на веб-сайте есть корзина покупок и варианты создания и управления учетной записью пользователя. Также должен быть компонент для черепа, используемый для нескольких компонентов, который я буду называть общим для этого примера. Это привело бы к следующей установке:
Общие файлы:
- Project.Common.Data
- Project.Common.Business
- Project.Common.Presentations
корзина для покупок:
- Project.Shop pingcart.Data
- Project.Shoppingcart.Business
- Project.Shoppingcart.Presentations
Счет управления:
- Project.Account.Data
- Project.Account.Business
- Project.Account.Presentations
Сайт:
- Project.Website.Data
- Project.Website.Business
- Project.Website.Presentations
образец выше, имеет три компоненты, каждый из которых содержит три проекта. Каждый компонент имеет один проект веб-приложения, содержащий веб-файлы (страницы, элементы управления, интерфейсный код). Весь мой предыдущий проект .Net имел простой проект веб-приложений, поэтому эта настройка для меня стала новым опытом.
Я все еще хочу, чтобы решение ощущалось как одно приложение, позволяющее легко отлаживать веб-сайт и компоненты. Для этого я предполагаю, что проект веб-приложений Project.Web.Presentation должен быть основным проектом веб-приложений.Я в настоящее время расследование, если это возможно, чтобы настроить решение таким образом, я попробовал несколько подходов, но ни один из них работали хорошо до сих пор:
Запуск всех проект веб-приложения в отдельности, это работало хорошо, но я должен запустите все приложение отдельно, и я не могу запустить их под тем же портом, который ужасен при отладке.
Добавление файлов из других презентационных проектов в качестве ссылок на проект Project.Web.Presentation и установка этого проекта в качестве запуска. Это не работает, поскольку файлы не присутствуют во время отладки, кажется, отлично работает при создании пакета развертывания. Я не хочу копировать файлы, так как мне нужно каким-то образом предотвратить дублирование файлов в управлении версиями.
До сих пор я не нашел хороший способ работы с установкой, которую я имею в виду. Я открыт для предложений, заранее за подсказки!
Благодарим вас за то, что вы направили меня на NuGet, я не понимал, что инструмент можно использовать таким образом. Я почти нашел идеальное решение для работы с веб-проектом mutiple. У меня есть одна проблема, которую я опубликовал в качестве нового вопроса: http://stackoverflow.com/questions/10861130/package-manager-console-commands-in-pre- строить-событие – Oskar