Управление элементами в проектах

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

Два способа связи с файлами

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

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

Различия становятся очень заметными при одновременной работе с Visual C++ и веб-проектами. Чтобы понять эти различия, следует просмотреть сценарии, иллюстрирующие способы связи файлов с проектом.

Проекты, управляющие ссылками

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

Хранилище 2 обозревателя решений модели проекта

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

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

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

Проекты, управляющие файлами

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

Хранилище 1 обозревателя решений модели проекта

Проекты, управляющие файлами и ссылками

Некоторые проекты, например Visual Basic и Visual C# управляют файлами с помощью комбинации обоих представлений. Некоторые элементы, отображаемые в папке проекта в обозревателе решения, являются ссылками на файлы. Другие элементы представляют сам файл. Как правило, в таких проектах элементы-ссылки обозначаются небольшой стрелкой на значке.

Хранилище обозревателя решений модели объекта 3

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

См. также

Задачи

Практическое руководство. Определение способов управления файлами в проекте

How to: Add a Project to Source Control

Основные понятия

Использование обозревателя решений

Знакомство с решениями, проектами и элементами

Элементы и общие команды в обозревателе решений