Обзор решений
Решение группирование одного или нескольких проектов, которые работают совместно для создания приложения. Проект и сведения о состоянии, относящиеся к решения хранятся в разных файлах решения 2. Файл решения (sln) на основе текста и может быть помещен в систему управления исходным кодом и используется совместно между пользователями. Файл параметров решения (suo) является пользователя. В результате файл suo не могут находиться под управлением исходным кодом и не содержащий данные пользователя. Эти файлы аналогичны файлам, используемым внутри группы (.vbg) Visual Basic или рабочая область (.dsw) и параметров пользователя файлы (.opt), используемые в предыдущих версиях Visual C++.
Любое VSPackage может записывать к любому типу файла решения. Из-за особенностей файлов, 2 различных интерфейса, реализуемого для записи к ним. IVsPersistSolutionProps интерфейс вставке записи этой информации в файл sln и СМС IVsPersistSolutionOpts интерфейс записывает двоичные потоки в файл suo.
VSPackage регистрирует как участвующ в сохранении решения путем помещения в реестр верхнего уровня ключ с именем SolutionPersistence. Под этим ряд ключей, обозначенных с дружественный по имени (в том случае, SolutionNotes пример расширителя решения).
По умолчанию папка содержит идентификатор GUID (REG_SZ) для VSPackage, как показано в следующей таблице.
[HKLM \ <Корневой элемент реестра идентификатор приложения> \ SolutionPersistance \ <Имя типа>]
Имя |
Тип |
Данные |
Описание |
---|---|---|---|
@ |
REG_SZ |
GUID |
Идентификатор GUID конкретного VSPackage. |
Примечание
Проект не должен явно создавать запись для себя в файл решения; дескрипторы среды, для проекта.Поэтому если не планируется добавление дополнительного содержимого в частности к файлу решения, для регистрации VSPackage таким образом.
Каждая сохранение решения VSPackage, поддерживающий использует 3 интерфейса IVsSolutionPersistence интерфейс, реализованный средой и вызывается и VSPackage IVsPersistSolutionProps и IVsPersistSolutionOpts, обе реализации VSPackage. IVsPersistSolutionOpts интерфейс следует реализовывать, если только конфиденциальные сведения быть написан VSPackage в файл suo.
Когда решение открывается, выполняется следующий процесс.
Среда считывает решение.
Если среда находится a CLSIDон загружает соответствующие VSPackage.
Если VSPackage загружен, то вызов среды QueryInterface для IVsPackage интерфейс для интерфейса которого VSPackage.
При чтении из файла sln, вызовы среды QueryInterface для IVsPersistSolutionProps.
При чтении из файла suo, вызовы среды QueryInterface для IVsPersistSolutionOpts.
Конкретные сведения, относящиеся к использования этих файлов находятся внутри Файл решения (sln) и Параметры пользователей (решения. файл Suo).
Примечание
Если нужно создать новую конфигурацию, состоящий из 2 проектов решения конфигурация и exclude третий из построения, необходимо использовать пользовательский интерфейс или автоматизацию страницы свойств.Доступные интерфейсы API-уровня VSIP, которые позволяют напрямую управлять конфигурации диспетчера построения решения и их свойств.Можно управлять использованием диспетчера построения решения SolutionBuild класс из модели автоматизации DTE.Дополнительные сведения см. в разделе модель автоматизации.Дополнительные сведения, относящиеся к настройке решения см. конфигурация решения.