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

Проект Visual Studio и решение

Будучи новым для VS, как я могу думать об этих двух концепциях, в чем разница?

4b9b3361

Ответ 1

Решение представляет собой контейнер для проектов и отслеживает зависимости между проектами.

Ответ 2

Я нахожу недостающую информацию в других ответах (по крайней мере, для людей, которые приходят из других IDE, например, Eclipse). Сказать, что решение является контейнером для проектов, является лишь частью этой вещи. Концептуальная особенность проекта VS (что определяет его "гранулярность" ) заключается в том, что один проект производит один вывод: обычно исполняемый файл или библиотеку (dll). Итак, если вы собираетесь закодировать три исполняемых файла, которые используют связанный код, вы создадите одно решение и по крайней мере три проекта - возможно, больше.

Ответ 3

Просто чтобы придумать метафору.

Решение похоже на дом, проект, подобный комнате. В каждом номере есть функциональность, в то время как дом, контейнер с комнатами, обеспечивает средства для соединения комнат и организации их надлежащим образом.

Какой-то банальный, но я все это сделал на лету, так что медведь со мной:)

Ответ 4

Это не помогает Visual Studio, похоже, делает вещи более запутанными. "Новый проект" фактически создает новое решение, содержащее проект. "Открытый проект" фактически открывает решение, содержащее один (или много) проект. (В меню файла указано "Open Project/Solution", но это действительно открывает решения. Точный "Close Project" не является "Close Solution".

Итак, в VS вы всегда работаете в рамках решения. Многие решения содержат только один проект, и более новые разработчики, вероятно, думают о них как о том же. Однако вы можете добавить другие проекты в решение.

Ответ 5

Решение может иметь много проектов.

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

Ответ 6

Проект содержит исполняемые и библиотечные файлы, составляющие приложение или компонент приложения.

Решение является заполнителем для логически связанных проектов, составляющих приложение. Например, у вас могут быть отдельные проекты для графического интерфейса приложения, уровня доступа к базе данных и т.д. Проекты были бы конкретными подразделениями для вашей функциональности программы, и решение было бы зонтиком, объединяющим все их в одном приложении.

Ответ 7

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

Ответ 8

В случае, если кто-то решит прокрутить вниз так далеко... Я думал, что MS docs неплохо справился с описанием различий. Я скопировал соответствующий бит здесь:

При создании приложения, приложения, веб-сайта, веб-приложения, script, плагина и т.д. в Visual Studio вы начинаете с проекта. В логическом смысле проект содержит все файлы исходного кода, значки, изображения, файлы данных и все остальное, которые будут скомпилированы в исполняемую программу или веб-сайт, или же это необходимо для выполнения компиляции. Проект также содержит все параметры компилятора и другие файлы конфигурации, которые могут потребоваться различными службами или компонентами, с которыми будет взаимодействовать ваша программа. Примечание

У вас нет решений или проектов, если вы этого не хотите. Вы можете просто открыть файлы в Visual Studio и начать редактировать свой код.

В буквальном смысле проект представляет собой XML файл (.vbproj,.csproj, *.vcxproj), который определяет иерархию виртуальных папок, а также пути к всем элементам, которые он содержит, и все настройки сборки. В Visual Studio файл проекта используется Обозревателем решений для отображения содержимого и настроек проекта. Когда вы компилируете свой проект, механизм MSBuild потребляет файл проекта для создания исполняемого файла. Вы также можете настроить проекты для вывода других видов продукции.

Проект содержится в логическом смысле и в файловой системе в рамках решения, которое может содержать один или несколько проектов, а также информацию о сборке, параметры окна Visual Studio и любые разные файлы, которые не связаны с любой проект. В буквальном смысле решение представляет собой текстовый файл со своим уникальным форматом; он обычно не предназначен для редактирования вручную.

Решение имеет связанный файл *.suo, в котором хранятся настройки, настройки и информация о конфигурации для каждого пользователя, работающего над проектом.