Я не понимаю концепцию проектов и решений Visual Studio - PullRequest
9 голосов
/ 11 сентября 2008

В Eclipse у меня есть рабочее пространство, которое содержит все мои проекты. Каждый проект строится и компилируется отдельно. Проект не взаимодействует с другим проектом.

Как это связано с Visual Studio и проектами / решениями там?

Ответы [ 8 ]

22 голосов
/ 11 сентября 2008

Проект VS - это собственная сущность. Он будет строить и компилировать сам. Решение - это просто способ содержать несколько проектов. Проектам не обязательно нужны другие проекты для компиляции (хотя они могут зависеть от других проектов).

Это просто позволяет вам концептуально сгруппировать проекты в один Большой проект. Например, у вас может быть отдельный проект тестирования. Это зависит от кода из реального проекта и должно храниться вместе с реальным проектом, но не обязательно должно быть в том же exe / dll.

12 голосов
/ 11 сентября 2008

Каждый проект VS создает один EXE или DLL. Решение - это просто набор связанных проектов.

Итак, проект VS: проект Eclipse :: Решение VS: рабочее пространство Eclipse.

2 голосов
/ 11 сентября 2008

Еще один способ взглянуть на это, решение - это контейнер для проектов. Большую часть своей работы я создаю каждый уровень как проект внутри решения, поэтому мое дерево выглядит так:

  • Мое веб-приложение или приложение Win
    • Уровень представления
      • файлов ...
    • Бизнес-уровень
      • файлы ...
    • Доступ к данным
      • файлы

Ваш пробег может отличаться

1 голос
/ 11 сентября 2008

То, что может сбить вас с толку, таково:

В VS2003 все имели файл проекта и файл решения. Если у вас есть Решение с одним Проектом, вы можете открыть Решение и просмотреть один Проект. Если вы откроете проект, он попытается создать новый файл решения для проекта. Но у веб-проектов и проектов Winform были свои проекты и решения.

В VS2005 это немного изменилось - по умолчанию теперь веб-проекты больше не имеют файлов проекта. Они получили отзывы от некоторых веб-разработчиков, которым не нравились файлы проекта - они считали, что если файл находится в каталоге, он является частью приложения. После поставки VS2005 они получили больше отзывов от разработчиков, которым понравилась идея файла Project, поэтому они исправили его. Это «Веб-сайт» против «Веб-приложения» в VS2005 (и я не могу вспомнить, какой сейчас) .

Кроме того, в VS2005, если у вас есть решение, открытое только с одним проектом, вы не увидите в обозревателе решений, что решение вообще есть, вы увидите только проект (как если бы его не было). в решении). Только после добавления второго проекта вы увидите, что есть решение, содержащее их обоих.

Таким образом, в основном вы были на правильном пути - решения и проекты в Visual Studio работают так же, как и в Eclipse, только некоторые причуды приводят в замешательство.

1 голос
/ 11 сентября 2008

@ Томас Оуэнс:

Да, некоторые (большинство?) Люди, использующие Eclipse, имеют более одного рабочего пространства. Это то, что удивило меня больше всего, когда я впервые начал использовать Eclipse, поэтому я отвечаю здесь, чтобы сделать этот комментарий более заметным.

0 голосов
/ 24 октября 2008

Я обнаружил, что не всегда видение решения в обозревателе решений вызывает раздражение. В меню «Настройки» -> «Проекты и решения» -> «Общие» есть настройка «Всегда показывать решение», которая была удобной.

0 голосов
/ 12 сентября 2008

В Visual Studio 2008 существует слишком много видов веб-проектов. Существуют проекты веб-сайтов и проекты веб-приложений, и они по-разному ограничивают вас. Это хороший пример того, как Microsoft предлагает слишком много вариантов вместо того, чтобы сосредоточиться на одном сильном решении. Даже в рамках опции «Веб-сайт проекта» есть как минимум 3 различных способа компилирования вашего приложения.

0 голосов
/ 11 сентября 2008

Решение имеет 0 или несколько проектов ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...