Управление элементами в проектах
Visual Studio предлагает широкий диапазон шаблонов проектов, содержащих элементы, необходимые для создания приложения. Этот диапазон означает, что команды и возможности, доступные в обозревателе решений изменяются в зависимости от выбранного шаблона проекта и от того, как проект управляет элементами. Хотя изменить расположение, в котором сохраняются файлы, возможно, шаблон проекта определяет, насколько важно это расположение при построении и управлении файлами.
Два способа связи с файлами
Элементы в обозревателе решений часто представляют отдельный файл, который может быть связан с проектом несколькими способами. Элемент может представлять ссылку на файл или сам файл. Ссылки аналогичны (хотя не идентичны) ярлыкам в проводнике Windows.
Работая в пределах одного проекта, можно не заметить различий в поведении элементов, представляющих ссылки, и элементов, представляющих непосредственно файл. Однако при выполнении задач между проектами с использованием папки "Элементы решения" и папки "Прочие файлы" можно получить неожиданные результаты.
Различия становятся очень заметными при одновременной работе с Visual C++ и веб-проектами. Чтобы понять эти различия, следует просмотреть сценарии, иллюстрирующие способы связи файлов с проектом.
Проекты, управляющие ссылками
В некоторых проектах расположение файлов в пределах структуры каталогов проекта является необязательным; при этом проект управляет только ссылками на файл. В данном случае ссылки являются прокси для физических файлов на диске. Такие проекты не требуют наличия всех задач управления файлами.
Например, при управлении ссылкой на файл ее можно удалить, однако файл не будет удален из хранилища. Такие связи позволяют создавать и сохранять отдельный файл, который можно использовать в нескольких проектах.
Элементы в проектах Visual C++ и в папке "Элементы решения" представляют собой ссылки. В проектах, в которых элементы используются как ссылки, файлы можно сохранять в любом расположении на диске и при этом включать их в построение. Элементы-ссылки можно добавлять к файлам в других проектах.
Ссылки на файлы, созданные вне проекта, позволяют сделать эти файлы общими для нескольких проектов. Вместо обновления копии файла после внесения изменений, изменения будут сохраняться в файле постоянно. Однако возможно наличие ссылки на удаленный файл, например, на файл, который принадлежал другому пользователю. Если связывание с файлом с помощью ссылки нежелательно, можно создать копию данного файла и добавить ее к проекту. Элемент проекта может при этом оставаться ссылкой, однако он будет связан с отдельной версией файла.
Проекты, управляющие файлами
Некоторые проекты, например веб-проекты, требуют, чтобы все файлы находились в одном физическом каталоге. Этот каталог является каталогом проекта, и для каждого элемента проекта, отображаемого в обозревателе решений, в каталоге проекта существует физический файл. Такая связь позволяет структуре каталогов и файлу проекта определять, какие файлы доступны проекту и управляются им. В таком проекте все элементы используются в построении.
Проекты, управляющие файлами и ссылками
Некоторые проекты, например Visual Basic и Visual C# управляют файлами с помощью комбинации обоих представлений. Некоторые элементы, отображаемые в папке проекта в обозревателе решения, являются ссылками на файлы. Другие элементы представляют сам файл. Как правило, в таких проектах элементы-ссылки обозначаются небольшой стрелкой на значке.
При работе с проектом, в котором разрешены два способа связи, расположение, в котором сохраняются файлы для элементов, может быть любым. Файл определения проекта отслеживает включенные в проект файлы, сведения для управления версиями файлов и другие метаданные.
См. также
Задачи
Практическое руководство. Определение способов управления файлами в проекте
How to: Add a Project to Source Control
Основные понятия
Использование обозревателя решений