10 ответов:
Я нахожу некоторую недостающую информацию в других ответах (по крайней мере, для людей, которые приходят из других IDE, таких как, скажем, Eclipse) . Сказать, что решение-это контейнер для проектов-это только часть дела. Концептуальная особенность проекта VS (что определяет его "детализацию") заключается в том, что один проект производит один выход: обычно исполняемый файл или библиотека (dll). Итак, если вы собираетесь закодировать три исполняемых файла, которые используют связанный код, вы создадите одно решение и по крайней мере три проекта-наверное, больше.
просто чтобы придумать метафору..
решение-это как дом, проект, как и номер. Каждая комната обеспечивает часть функциональности тогда как дом, контейнер комнат, обеспечивает середины соединить комнаты совместно и организовать их соотвествующе.
вроде банально, но я придумал это на лету, так что потерпите меня:)
Это не помогает, что Visual Studio, кажется, делает вещи более запутанными. "Новый проект" фактически создает новое решение, содержащее проект. "Открыть проект" фактически открывает решение, содержащее один (или несколько) проект. (Меню "Файл" "Открыть проект/решение", но это действительно открытие решения. Нет никакого "близкого проекта", только" близкое решение", которое является точным.
Итак, в VS вы всегда работаете в рамках решения. Многие решения содержат только один проект и более новые разработчики, скорее всего, думают о них как же. Однако вы можете добавить другие проекты в решение.
решение может иметь много проектов.
решение также может обрабатывать управление зависимостями между его различными проектами...убедитесь, что каждый проект построен в соответствующем порядке для окончательного решения для работы.
проект содержит исполняемые и библиотечные файлы, которые составляют приложение или компонент приложения.
решение является заполнителем для логически связанных проектов, которые составляют приложение. Например, вы можете иметь отдельные проекты для графического интерфейса вашего приложения, уровня доступа к базе данных и так далее. Проекты будут конкретными подразделениями для функциональности вашей программы, и решение будет зонтиком, объединяющим все из них под одним приложение.
в случае, если кто-то решит прокрутить вниз так далеко...Я думал, что MS docs сделал довольно хорошую работу по описанию различий. Я скопировал вставленный соответствующий бит здесь:
когда вы создаете приложение, приложение, сайт, веб-приложение, скрипт, плагин, и т. д. в Visual Studio, вы начинаете с проекта. В логическом смысле проект содержит все файлы исходного кода, значки, изображения, файлы данных и все остальное, что будет скомпилировано в исполняемую программу или веб сайт, либо же необходим для того, чтобы выполнить компиляцию. Проект также содержит все параметры компилятора и другие файлы конфигурации, которые могут потребоваться различным службам или компонентам, с которыми будет взаимодействовать ваша программа. Примечание
вы не должны использовать решения или проекты, если вы не хотите. Вы можете просто открыть файлы в Visual Studio и начать редактирование кода.
в буквальном смысле, проект-это XML-файл (.vbproj, .csproj,*.vcxproj), который определяет иерархию виртуальных папок вместе с путями ко всем элементам, которые она "содержит", и все параметры сборки. В Visual Studio файл проекта используется Обозревателе для отображения содержимого и параметров проекта. При компиляции проекта модуль MSBuild использует файл проекта для создания исполняемого файла. Вы также можете настроить проекты для других видов продукции.
проект содержится, в логическом смысле, так и в файловой системе, в решении, которое может содержать один или несколько проектов, а также сведения о сборке, параметры окна Visual Studio и любые другие файлы, не связанные с каким-либо проектом. В буквальном смысле, решение представляет собой текстовый файл со своим собственным уникальным форматом; как правило, он не предназначен для редактирования вручную.
решение связано *.suo файл, который сохраняет настройки, предпочтения и информацию о конфигурации для каждого пользователя, который работал над проектом.
решения являются контейнерами для проектов - вы также можете использовать их для организации элементов, которые используются в разных связанных проектах (общие dll и т. д.).
решения-это контейнеры, используемые Visual Studio для организации одного или нескольких связанных проектов. При открытии решения в Visual Studio оно автоматически загружает все содержащиеся в нем проекты.
при создании нового проекта в Visual Studio он автоматически создает решение для размещения проекта, если решение еще не открыто.
вы можете установить зависимости проектов от других проектов в решении. Зависимый проект-это постройте после того, как проект, от которого он зависит, будет построен.
для получения более подробной информации см. - https://docs.microsoft.com/en-us/visualstudio/ide/quickstart-projects-solutions
Если вы из фона Eclipse, вы, вероятно, перейдете к созданию пути проекта и добавите зависимость от другого проекта или добавите внешнюю банку. В VS вы можете сделать это в одном контейнере под названием solution, где все связанные проекты сгруппированы вместе.
например. Допустим, вы создаете и приложение для android и iOS в xamrin, там будет какой-то общий код и ресурсы, которые могут пойти в отдельный проект, а затем ваши проекты android и iOS могут зависеть от этого общего проекта кода. Также у вас могут быть проекты для тестирования этих проектов и т. д.
A решение - это читаемый текстовый файл с расширением
.slnи имеющий структурированный контент, который описывает проекты, которые он содержит. А проект - это читабельный XML форматированный текстовый файл с расширением.vcxprojи имеющий структурированное содержимое в соответствии с его XML-схемой, и основная цель которого состоит в том, чтобы содержать список исходных кодов имен файлов и их зависимостей или ссылок на источник другого проекта и коды тоже.
Comments