Как открыть структуру проекта в visual studio

Обновлено: 07.07.2024

Для эффективной разработки и выполнения сборочного процесса в групповой среде, важно начать с создания правильной структуры проекта, одинаковой на всех компьютерах разработчиков и на сервере сборки (build server).

В этой главе даны рекомендации по:

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

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

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

Рис. 3.1 иллюстрирует связь между проектами и решениями и типы файлов, в которых VSS хранит параметры уровней решения и проекта.

Solution - Решение
Dependencies - Зависимости
Project - Проект
User Specific File (Not Version Controlled) - Файл, специфичный для пользователя (вне системы контроля версий)
AppName - Имя приложения
Non-User Specific File (Version Controlled) - Файл, не специфичный для пользователя (в системе контроля версий)

Решения и сборочные зависимости

Файлы, включаемые в систему контроля исходного кода

Прочие файлы, в том числе пользовательский файл решения (.suo) и файл проекта (.csproj или .vbproj), тоже обновляются.

Разбиение решений и проектов на отдельные части

Способ разбиения решений и проектов существенно влияет на процессы разработки и сборки в среде групповой разработки.

Существует три основных модели разбиения решений и проектов. Их список дан в порядке предпочтительности:

  1. Единое решение.
  2. Единое решение, разбитое на части.
  3. Несколько решений.

Внимание Если у вас нет веских причин на то, чтобы задействовать модель на основе нескольких решений, избегайте ее и принимайте либо модель на основе единственного решения, либо (для больших систем) модель на основе решения, разбитого на части. С ними проще работать; к тому же, у них есть ряд важных преимуществ по сравнению с моделью на основе нескольких решений, о чем и рассказывается в следующих разделах.

По возможности применяйте модель на основе единственного решения

File Reference - Файловая ссылка
Project Reference - Ссылка на проект
Solution 1 - Решение 1
Project - Проект
Outer System Boundary - Внешняя граница системы
Inner System Boundary - Внутренняя граница системы
External Assemblies Third Party Components - Внешние сборки, в том числе компоненты сторонних поставщиков

Рис. 3.2. Модель на основе единственного решения

По возможности используйте именно эту модель, так как у нее есть ряд существенных преимуществ.

Преимущества

Недостатки

  • масштабирование этой модели ограничено. Даже если вам понадобится всего один проект из решения, придется получать исходный код всех проектов этого решения;
  • даже незначительные изменения в единственном файле исходного кода в одном проекте могут вызвать повторную сборку (rebuild) многих проектов в решении из-за зависимостей между проектами. Если в проекте, на который вы ссылаетесь, изменяется интерфейс сборки (assembly), вам потребуется перекомпилировать клиентский проект. А компиляция зависимых проектов может быть весьма длительной, особенно если в решении их много.

Для больших систем используйте модель, в которой решение разбивается на части

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

Это позволит вам и вашим коллегам работать над раздельными подсистемами меньшего размера в пределах внутренней системы.

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

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

File Reference - Файловая ссылка
Project Reference - Ссылка на проект
Solution 1 - Решение 1
Project - Проект
Outer System Boundary - Внешняя граница системы
Inner System Boundary - Внутренняя граница системы
External Assemblies Third Party Components - Внешние сборки и компоненты оот сторонних поставщиков
Master Solution - Главное решение

Рис. 3.3. Модель решения, разбитого на части

  • все проекты содержатся в главном файле решения. Он используется сборочным процессом для сборки всей системы. Если вы работаете с файлом проекта верхнего уровня, вы работаете и с главным решением;
  • между индивидуальными проектами существуют ссылки на проекты;
  • для некоторых файлов проектов вводятся отдельные файлы решения. При желании можно создать файл решения для каждого проекта в системе. Каждый файл решения содержит файл основного проекта и все нижестоящие проекты, от которых он зависит, а также проекты, от которых зависят только что упомянутые нижестоящие проекты, - и так до конца по всей цепочке зависимостей;
  • отдельные файлы решения позволяют работать с подсистемами меньшего размера, по-прежнему используя основные преимущества ссылок на проекты. В каждом файле подрешения между составляющими его проектами создаются ссылки на проекты.
    Примечание Не разделяйте два ссылающихся друг на друга проекта между решениями, так как в этом случае вам потребуется файловая ссылка, чего по возможности следует избегать. Подробнее на эту тему см. раздел Ссылки на сборки в главе 4 "Управление зависимостями".

Преимущества

Недостатки

Используйте модель на основе нескольких решений, только если это действительно необходимо

  • нет главного файла решения;
  • между проектами в разных решениях используются файловые ссылки (хотя ссылки на проекты по-прежнему применяются в рамках проектов одного решения);
  • сценарий сборки системы, выполняемый на сервере сборки, последовательно компилирует каждое решение на основе известных отношений зависимости (dependency relationships). Сценарий сборки помещает результаты в фиксированное место на сервере.

Модель на основе несокльких решений показана на рис. 3.4.

File Reference - Файловая ссылка
Project Reference - Ссылка на проект
Solution - Решение
Project - Проект
Outer System Boundary - Внешняя граница системы
Inner System Boundary - Внутренняя граница системы
External Assemblies Third Party Components - Внешние сборки и компоненты от сторонних поставщиков

Рис. 3.4. Модель на основе нескольких решений

Преимущества

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

Недостатки

Рекомендации по группировванию проектов в решения

Используйте согласованную структуру папок для проектов и решений

Определите общую корневую папку

Определите общую корневую папку, например C:\Projects в файловой системе и $/Projects в VSS. Она будет служить контейнером для всех разрабатываемых систем.

В общей корневой папке создайте корневые папки для всех систем, например C:\Projects\MyCompanysInsuranceApp и $/Projects/MyCompanysInsuranceApp соответственно.

Применяйте иерархическую структуру папок для решений и проектов

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

Рекомендуемая структура показана на рис. 3.5.

Включайте в имя решения слово Solution или Soln - так проще различать имена решения и проекта.

Рекомендуемая структура приведена на рис. 3.6. Заметьте, что папка проекта и виртуальный корень Microsoft Internet Information Server (IIS) совпадают.

Local File System - Локальная файловая система
VSS Project Structure - Структура проекта VSS
Project folder AND IIS Virtual Root - Папка проекта и виртуальный корень IIS

Рис. 3.6. Рекомендуемая структура Web-приложения

Чтобы создать новое Web-приложение с такой структурой

Как разбить Web-приложение на несколько проектов

Внимание Подход, при котором используется один проект, проще, так что разбивайте Web-приложение на несколько проектов, только если это действительно необходимо. Обычно такая необходимость возникает в очень больших Web-приложениях.

Дополнительные сведения

Как создать новый проект, отличный от Web-приложения

Далее рассказывается, как создать проект, отличный от Web-приложения, скажем, консольную или Windows-программу, библиотеку классов или сервис. Предполагается, что решение называется MyWinAppSolution, а проект - MyWinApp. Рекомендуемая структура приведена на рис. 3.7.

Local File System - Локальная файловая система
VSS Project Structure - Структура проекта VSS

Рис. 3.7. Рекомендуемая структура проекта для приложений, не связанных с Web

Чтобы создать новое приложение, отличное от Web, с такой структурой

О добавлении нового проекта и решения к Visual SourceSafe см. раздел Как зарегистрировать в VSS новое решение главы 6 "Работа с Visual SourceSafe".

Тщательно обдумайте соглашения об именовании

Тщательно и заранее обдумайте, как вы будете именовать проекты, сборки, папки и пространства имен. Хотя эти элементы можно переименовать на более поздних этапах цикла разработки, старайтесь этого избегать. О том, как переименовать проект, см. раздел Переименование проекта главы 6 "Работа с Visual SourceSafe".

Также стремитесь к непротиворечивости имен, поскольку это существенно упрощает организацию проекта.

Используйте общие имена для проектов и сборок

Имя выходной сборки должно всегда совпадать с именем проекта, в котором она создается. Например, сборка MyCompany.Utilities.Data.dll должна создаваться в проекте MyCompany.Utilities.Data.

При изменении имени выходной сборки измените имя проекта и наоборот.

Используйте общее имя корневого пространства имен

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

Так, в сборке MyCompany.Utilities.Data.dll корневое пространство имен должно называться MyCompany.Utilities.Data.

Используйте общие имена для папок VSS и локальных папок

Как уже говорилось, синхронизируйте имена папок решений и проектов с эквивалентными именами папок в VSS.

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

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

Окно Представление классов отображается в интерфейсе обозревателя решений, а также как отдельное окно. В окне Представление классов отображаются элементы приложения. В верхней области отображаются пространства имен, типы, интерфейсы, перечисления и классы, а в нижней области — элементы, которые относятся к типу, выбранному в верхней области. Используя это окно, можно переместиться к определениям элементов в исходном коде (или в обозревателе объектов, если элемент определен вне решения).

Чтобы просмотреть элементы проекта в окне Представление классов, его необязательно компилировать. Окно обновляется при изменении кода в проекте.

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

Если проект возвращен в систему управления версиями, рядом с каждым элементом в окне Представление классов отображается значок, указывающий состояние файла исходного кода. Общие команды управления исходным кодом, такие как Извлечь, Вернуть и Получить последнюю версию, также доступны в контекстном меню элемента.

Панель инструментов представления классов

Ниже приведены команды панели инструментов окна Представление классов.

Параметры представления классов

Ниже приведены параметры, которые позволяют выбрать кнопку панели инструментов Окно классов: параметры.

name Описание
Показать базовые типы Отображаются базовые типы.
Показать ссылки проектов Отображаются ссылки проектов.
Показать скрытые типы и члены Скрытые типы и члены (не предназначенные для использования клиентами) выделяются светло-серым цветом.
Показать открытые члены Отображаются открытые члены.
Показать защищенные члены Отображаются защищенные члены.
Показать закрытые члены Отображаются закрытые члены.
Показать прочие члены Отображаются другие виды членов, включая внутренние (или Friend в Visual Basic).
Показать унаследованные члены Отображаются унаследованные члены.

Контекстное меню представления классов

Контекстное меню в окне Представление классов может содержать приведенные ниже команды в зависимости от выбранного типа проекта.

name Описание
Перейти к определению Поиск определения элемента в исходном коде или в обозревателе объектов, если элемент не определен в открытом проекте.
Найти определение Отображение выбранного элемента в обозревателе объектов.
Найти все ссылки Поиск элемента выбранного объекта и отображение результатов в окне Результаты поиска
Фильтровать по типу (только управляемый код) Отображение только выбранного типа или пространства имен. Фильтр можно удалить, нажав кнопку Очистить поиск (X) рядом с полем Найти.
Копировать Копирование полного имени элемента.
Сортировать по алфавиту Сортировка имен типов и членов в алфавитном порядке.
Сортировать по типу члена Сортировка списков типов и членов по типу (таким образом, классы предшествуют интерфейсам, интерфейсы предшествуют делегатам, а методы предшествуют свойствам).
Сортировать по доступу к члену Сортировка типов и членов по типу доступа (открытый или закрытый).
Группировать по типу члена Объединение типов и членов в группы с сортировкой по типу объекта.
Перейти к объявлению (только для кода C++) Отображение объявления типа или члена в исходном коде, если оно есть.
Перейти к определению Отображение определения типа или члена в исходном коде, если оно есть.
Перейти по ссылке Отображение ссылки на тип или член в исходном коде, если она есть.
Просмотр иерархии вызовов Отображение выбранного метода в окне Иерархия вызовов

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

Чтобы открыть окно Иерархия вызовов, выберите метод (свойство или конструктор) в редакторе, а затем в контекстном меню выберите Просмотреть иерархию вызовов. Это окно должно выглядеть примерно следующим образом:

Окно "Иерархия вызовов" в Visual Studio

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

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

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

Контекстное меню в окне Иерархия вызовов содержит приведенные ниже команды.

name Описание
Добавить как новый корневой элемент Добавление выбранного узла в качестве нового корневого узла.
Удалить корневой элемент Удаление выбранного корневого узла из области представления в виде дерева.
Перейти к определению Переход к исходному определению метода.
Найти все ссылки Поиск всех ссылок на выбранный метод в проекте.
Копировать Копирование выбранного узла (кроме дочерних узлов).
Обновление Обновление данные.

Обозреватель объектов

В окне Обозреватель объектов отображаются описания кода в проектах.

Вы можете отфильтровать компоненты, которые нужно просмотреть, с помощью раскрывающегося списка в верхней части окна. К пользовательским компонентам относятся исполняемые файлы управляемого кода, сборки библиотек, библиотеки типов и OCX-файлы. Пользовательские компоненты C++ добавить нельзя.

Пользовательские параметры сохраняются в каталоге приложения пользователя Visual Studio — %APPDATA%\Microsoft\VisualStudio\15.0\ObjBrowEX.dat.

Пользовательские параметры сохраняются в каталоге приложения пользователя Visual Studio — %APPDATA%\Microsoft\VisualStudio\16.0\ObjBrowEX.dat.

Слева в окне Обозреватель объектов отображаются сборки. Вы можете развернуть сборки, чтобы просмотреть содержащиеся в них пространства имен, которые также можно развернуть для просмотра содержащихся в них типов. При выборе типа его члены (например, свойства и методы) отображаются на правой панели. На нижней правой панели отображаются подробные сведения о выбранном элементе.

Найти конкретный элемент можно с помощью поля Поиск, расположенного в верхней части окна. Регистр букв при поиске не учитывается. Результаты поиска отображаются на левой панели. Чтобы очистить условия поиска, нажмите кнопку Очистить поиск (Х), расположенную рядом с полем Поиск.

Вы можете использовать обозреватель объектов для добавления ссылки на сборку в открытое решение. Для этого выберите элемент (сборку, пространство имен, тип или член) и нажмите кнопку Добавить ссылку на панели инструментов.

Параметры обозревателя объектов

С помощью кнопки Параметры обозревателя объектов на панели инструментов можно выбрать одно из приведенных ниже представлений.

name Описание
Просмотр пространств имен Отображение пространств имен вместо физических контейнеров на левой панели. Пространства имен, хранящиеся в различных физических контейнерах, объединяются.
Просмотр контейнеров Отображение физических контейнеров вместо пространств имен на левой панели. Представления Просмотр пространств имен и Просмотр контейнеров являются взаимоисключающими.
Показать базовые типы Отображение базовых типов
Показать скрытые типы и члены Выделение скрытых типов и членов (не предназначенных для использования клиентами) светло-серым цветом.
Показать открытые члены Отображение открытых членов.
Показать защищенные члены Отображение защищенных членов.
Показать закрытые члены Отображение закрытых членов.
Показать прочие члены Отображение других типов членов, включая внутренние (или Friend в Visual Basic).
Показать унаследованные члены Отображение унаследованных членов.
Показать методы расширения Отображение методов расширения.

Команды контекстного меню обозревателя объектов

Контекстное меню в обозревателе объектов может содержать приведенные ниже команды в зависимости от выбранного типа элемента.

name Описание
Найти определение Отображение основного узла выбранного элемента.
Найти все ссылки Поиск элемента выбранного объекта и отображение результатов в окне Результаты поиска
Фильтровать по типу Отображение только выбранного типа или пространства имен. Фильтр можно удалить, нажав кнопку Очистить поиск.
Копировать Копирование полного имени элемента.
Remove Если область представляет собой набор пользовательских компонентов, выбранный компонент удаляется из области.
Сортировать по алфавиту Сортировка имен типов и членов в алфавитном порядке.
Сортировать по типу объекта Сортировка списков типов и членов по типу (таким образом, классы предшествуют интерфейсам, интерфейсы предшествуют делегатам, а методы предшествуют свойствам).
Сортировать по доступу к объекту Сортировка типов и членов по типу доступа (открытый или закрытый).
Группировать по типу объекта Объединение типов и членов в группы с сортировкой по типу объекта.
Перейти к объявлению (только проекты C++) Отображение объявления типа или члена в исходном коде, если оно есть.
Перейти к определению Отображение определения типа или члена в исходном коде, если оно есть.
Перейти по ссылке Отображение ссылки на тип или член в исходном коде, если она есть.
Просмотр иерархии вызовов Отображение выбранного метода в окне Иерархия вызовов

Окно определения кода (C++)

В окне Определение кода отображается определение выбранного типа C++ или элемента в активном проекте. Тип или член можно выбрать в редакторе кода или в окне просмотра кода.

Это окно доступно только для чтения, но в нем можно установить точки останова и закладки. Чтобы изменить отображаемое определение, выберите в контекстном меню команду Изменить определение. Исходный файл открывается в редакторе кода, а курсор устанавливается на строку, где начинается определение.

Начиная с Visual Studio 2015 окно определения кода может использоваться только с кодом C++.

Контекстное меню окна определения кода

Контекстное меню в окне Определение кода может содержать приведенные ниже команды.

name Описание
Быстрые действия и рефакторинг
Переименование
Создать диаграмму включаемых файлов
Показать определение
Перейти к определению Поиск определения (или определений в случае разделяемых классов) и отображение их в окне Результаты поиска
Перейти к объявлению
Найти все ссылки Поиск ссылок на тип или член в решении.
Просмотр иерархии вызовов Отображение метода в окне Иерархия вызовов
Переключение между файлами заголовков и кода
Выполнить тесты Если в проекте есть модульные тесты, выполняются тесты для выбранного кода.
Запустить отладку тестов
Точка останова Вставка точки останова (или точки трассировки).
Выполнить до текущей позиции Выполнение программы в режиме отладки до позиции курсора.
Фрагмент кода
Вырезать, Копировать, Вставить
Комментарий
Структура Стандартные команды структурирования.
Повторить сканирование
Изменить определение Перемещение курсора к определению в окне кода.
Выбрать кодировку Открытие окна Кодировка для выбора кодировки файла

Окно Структура документа

Вы можете использовать окно Структура документа совместно с представлениями конструктора, такими как конструктор для XAML-страницы или конструктор Windows Form, либо совместно с HTML-страницами. В этом окне элементы отображаются в виде дерева, благодаря чему можно просматривать логическую структуру формы или страницы и отыскивать элементы управления, скрытые или расположенные глубоко в иерархии.


Все элементы, необходимые для создания первого приложения, объединены в специальной программе IDE (англ. Integrated Development Environment), а именно:

  • Кодовый редактор
  • Транслятор (компилятор и/или интерпретатор)
  • Средства автоматизированной сборки
  • Отладчик
  • Community – полнофункциональная, расширяемая и бесплатная версия интегрированной среды разработки для создания современных приложений Android, iOS и Windows, а также веб-приложений и облачных служб.
  • Professional – платная версия, содержащая профессиональные инструменты и службы для индивидуальных разработчиков или небольших команд.
  • Enterprise – платная версия, представляющая интегрированное комплексное решение для команд любого размера с высокими требованиями к качеству и масштабу.

Установка Visual Studio

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


Создание проекта в Visual Studio

Откройте Visual Studio и на стартовом экране выберите пункт «Создание проекта».



В следующем окне зададим название проекта. Пусть будет HelloWorld. На этом этапе также можно указать папку, где будет располагаться проект. После этого нажмите кнопку «Создать».

Visual Studio создаст и откроет проект. Окно будет выглядеть так:

Hello world

Под узлом «Зависимости» расположен непосредственно сам файл кода программы — Program.cs. Как раз он и открыт в центральном окне. Вначале разберёмся, что весь этот код собой представляет:

Пространство имён может включать другие пространства или классы. В нашем случае по умолчанию сгенерирован один класс — Program. Классы объявляются похожим способом: сначала идёт ключевое слово class, а потом название класса, и далее блок самого класса в фигурных скобках.

Слово static указывает, что метод Main статический, а слово void — что он не возвращает никакого значения. Далее в скобках у нас идут параметры метода. string[] args — это массив с именем args, который хранит значения типа string, то есть строки. В данном случае они нам пока не нужны, но в реальной программе это те параметры, которые передаются при запуске программы из консоли.

Внутри метода располагаются действия, которые этот метод выполняет. По умолчанию он содержит одно действие: Console.WriteLine("Hello World!"); - выводит в консоль строку "Hello World!".

Теперь мы можем запустить программу на выполнение с помощью клавиши F5 или с панели инструментов, нажав на зелёную стрелку. И если вы все сделали правильно, то при запуске приложения увидите заветную строку.


Теперь сделаем всё поинтересней — изменим код на следующий:

По сравнению с автоматически сгенерированным кодом были внесены несколько изменений. Теперь в методе Main первой строкой выводится приглашение к вводу.

Класс Console, метод которого мы вызываем, находится в пространстве имён System. Это пространство подключено в начале с помощью директивы using. Без подключения пространства имён System невозможно было бы использовать класс Console.

Однако нам необязательно подключать пространство имён. Мы можем даже удалить первую строку, но в этом случае мы тогда должны будем указать полный путь до используемого класса:

Во второй строке определяется строковая переменная name (тип string), в которую пользователь вводит информацию с консоли:

Мы обозначили, что помощью метода ReadLine() можем считать с консоли строку.

Затем введённое имя выводится на консоль:

Чтобы задать вывод значения переменной name в выводимой на консоль строке, применяются фигурные скобки <>. При выводе строки на консоль выражение будет заменяться на значение переменной name — введённое имя.

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


Алгоритм работы при создании C++-проекта в Visual Studio

1. New Project: Создание проекта.

  1. Пункт меню File -> New -> Project (Файл -> Создать -> Проект).
  2. В открывшемся окне в разделе Project Types (Установленные) найти Visual C++.
  3. В разделе Templates (Шаблоны) выбрать Win32 Console Application (Консольное приложение Win32).
  4. Указать имя нового «решения» (Solution Name) и имя проекта (Name).
  5. Сохранить проект на локальном диске в легко доступном месте (например, D:\Projects).
  6. Можно снять галочку Create folder for solution (Создать каталог для решения), чтобы не множить каталоги без необходимости.
  7. В следующем диалоговом окне щелкнуть Далее и затем выбрать Application Settings (Дополнительные параметры) -> Empty Project (Пустой проект). Убрать галочку с пункта Проверки жизненного цикла…

2. Add files: Добавление файлов.
Правый клик на проекте в окне Solution Explorer (Обозреватель решений) — пункт Add (Добавить) — пункт Create New Item (Создать элемент) или Add existing Item (Существующий элемент). Для этого и любого другого проекта понадобится как минимум один файл с точкой входа в программу — функцией main.

3. Exclude files: Исключение файлов.
Сначала удобно создать один проект и добавлять в него по одному файлу с решением каждой отдельной задачи. Однако при этом возникает проблема: в нескольких файлах проекта присутствует функция main, что противоречит правилам C++. Для решения данной проблемы, необходимо «исключать» файлы из проекта (правый клик на файле, Exclude from project (Исключить)). При этом файлы исчезнут из окна проекта, однако сохранятся в каталоге проекта на диске.

Читайте также: