2012-05-31 4 views
2

В настоящее время я начинаю разработку нового веб-сайта с использованием 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 и установка этого проекта в качестве запуска. Это не работает, поскольку файлы не присутствуют во время отладки, кажется, отлично работает при создании пакета развертывания. Я не хочу копировать файлы, так как мне нужно каким-то образом предотвратить дублирование файлов в управлении версиями.

До сих пор я не нашел хороший способ работы с установкой, которую я имею в виду. Я открыт для предложений, заранее за подсказки!

ответ

2

Я работаю над чем-то подобным, и решил использовать NuGet, чтобы вытолкнуть все общие части:

Multi-Project Nuget Issues

Updating Files in Existing Nuget Package

Visual Studio Multi-Project Solution Options

Единственный способ сделать это включает вложенные мастер-страницы и скрипты post build - беспорядочно.

+0

Благодарим вас за то, что вы направили меня на NuGet, я не понимал, что инструмент можно использовать таким образом. Я почти нашел идеальное решение для работы с веб-проектом mutiple. У меня есть одна проблема, которую я опубликовал в качестве нового вопроса: http://stackoverflow.com/questions/10861130/package-manager-console-commands-in-pre- строить-событие – Oskar

Смежные вопросы