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

Есть ли какие-либо рекомендации для Visual Studio Project/Solution Structure?

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

Есть ли какие-либо рекомендации по настройке проектов и решений Visual Studio в отношении нескольких решений для тех же решений?

Например: Скажем, у меня есть задача, которая требует веб-приложения, консольного приложения и общей библиотеки бизнес-логики.

Я видел эту ситуацию в 1, 2 и 3 решениях в свое время в моей карьере. Это простой пример; однако, что, если количество проектов растет? Есть ли строка, когда держать ее в одном или разбить ее?

4b9b3361

Ответ 1

В самом деле, существуют некоторые рекомендации для такого рода настроек на MSDN. Я написал краткое резюме в своем ответе на аналогичный вопрос в StackOverflow.

Ответ 2

Об этом я писал в 2007 году. Совет по-прежнему сохраняется:

http://mikehadlow.blogspot.com/2007/07/how-to-structure-visual-studio.html

Суть в том, что я должен получить код из исходного элемента управления, открыть его в Visual Studio, нажать F5, и все должно работать.

Ответ 3

Решения для разработчика, в конкретной ситуации. Проекты (.CSPROJ для C-Sharp) - это место, где происходит реальная компиляция.

Теоретически, если существует 4 разных проекта, может быть 24 различных сочетания тех проектов, которые разработчик может захотеть объединить в решения.

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

Ответ 4

У вас могут быть решения multipe, и каждый из них может ссылаться на проекты, о которых он заботится. Расширяя ваш пример, ваша библиотека общей бизнес-логики может иметь соответствующую библиотеку unit test. Эти два проекта могут содержаться в одном решении. В то же время у вас может быть другое решение, которое содержит три проекта, которые вы упомянули, но в этом случае библиотека unit test не включена.

Ответ 5

Мои решения обычно состоят из:

  • Проект веб-приложения
    • Общая папка для базовых и общих вспомогательных классов
    • 'Включить' папку
      • Папка "Стили"
      • Папка 'Scripts'
      • 'Папка с изображениями
    • 'Папка UserControls
  • Проект веб-служб
  • Проект веб-структуры
  • Проект бизнес-уровня
  • Проект бизнес-структуры
  • Проект доступа к данным

Ответ 6

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