Microsoft visual c компоненты: Основные компоненты модели проекта — Visual Studio (Windows)

Основные компоненты модели проекта — Visual Studio (Windows)






Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья



Применимо к: Visual Studio Visual Studio для Mac Visual Studio Code

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

Дополнительные сведения см. в статье «Поддержка средств Symbol-Browsing».

Объект Package

ИнтерфейсКомментарии
IVsPackageИнициализирует ПАКЕТ VSPackage в интегрированной среде разработки и делает его службы доступными для интегрированной среды разработки.

Объект Фабрики проектов

ИнтерфейсКомментарии
IVsProjectFactoryУправляет созданием новых проектов и открытием существующих проектов.

Объекты Project

ИнтерфейсыКомментарии
IVsProject3Управляет добавлением и удалением элементов проекта, открывает редакторы и поддерживает сопоставление между каждым моникером документа и моникером VSITEMID. Наследует от IVsProject и IVsProject2.
IVsHierarchyУправляет навигацией и отображением свойств и предоставляет события.
IVsUIHierarchyВключает выполнение команд, аналогичных IOleCommandTarget командам, таким как «Вырезать» и «Переименовать», которые применяются только в том случае, если фокус находится в обозревателе решений.
IOleCommandTargetСлужит основным целевым интерфейсом команды для иерархии проектов. Это стандартный интерфейс для запроса объектов для их состояния команды или состояния и выполнения команд. Доступно, если вы не сосредоточены в окне проекта.
IPersistFileFormatКоординирует сохраняемость состояния проекта. Как правило, состояние проекта хранится в виде файла проекта, но может быть адаптировано к системам хранения, которые не основаны на файлах.
IVsPersistHierarchyItem2Позволяет проекту управлять всеми аспектами сохраняемости элементов проекта в виде файлов на диске или объектах в других системах хранения. Интерфейс IVsPersistHierarchyItem2 используется для элементов, которые не реализуют IVsPersistDocData2 интерфейс.
IVsSccProject2Координирует взаимодействие с элементом управления исходным кодом.
IVsProjectFlavorCfgProviderПозволяет проектам управлять сведениями о конфигурации.
IVsCfgProvider2Управляет объектами конфигурации проекта, такими как конфигурации отладки и выпуска. Операции сборки, развертывания и отладки координируются с помощью объектов конфигурации проекта.
IVsHierarchyDeleteHandlerРеализуется иерархиями для управления параметрами удаления (деструктивного) или удаления (неразрушающего) для элементов иерархии. Вызов интерфейса запроса в IVsHierarchyDeleteHandler интерфейсе IVsHierarchy из интерфейса.
IVsGetCfgProviderПредоставляет возможность реализации объекта, который поддерживает IVsCfgProvider2 интерфейс на другом com-идентификаторе, отличном от объекта проекта, реализующего IVsHierarchy интерфейс.
IVsProjectStartupServicesНеобязательный интерфейс, реализованный для расширения проекта другими разработчиками. Интерфейс IVsProjectStartupServices позволяет стороннему ПАКЕТу VSPackage зарегистрировать GUID, который сохраняется в файле проекта, чтобы каждый раз при загрузке проекта вы загружаете сторонний GUID службы в файл проекта и вызываете QueryService этот GUID.
IVsUIHierWinClipboardHelperEventsРеализуется исходными иерархиями в UIHierarchy окне для координации операций буфера обмена, таких как вырезание, копирование и вставка. AdviseClipboardHelperEvents Используйте интерфейс для регистрации событий буфера обмена.
IVsHierarchyDropDataSource2Предоставляет сведения о перетаскиваемом элементе относительно источника данных во время операции перетаскивания в окне иерархии пользовательского интерфейса. Вызывается из IVsHierarchy интерфейса.
IVsHierarchyDropDataTargetПредоставляет сведения о перетаскиваемом элементе относительно целевого объекта перетаскивания во время операции перетаскивания в окне иерархии пользовательского интерфейса. Вызывается из IVsHierarchy интерфейса.

Объект конфигурации

ИнтерфейсыКомментарии
IVsCfgПредоставляет сведения о конфигурации.
IVsProjectCfg2Позволяет проектам управлять сведениями о конфигурации.
IVsDebuggableProjectCfgПозволяет запускать проект под управлением отладчика.
IVsDeployableProjectCfgРеализуется проектами развертывания, выполняющими операции развертывания для других проектов.

Объект Configuration Builder

ИнтерфейсыКомментарии
IVsBuildableProjectCfgУправляет операцией построения конфигурации проекта.

Дополнительные объекты Project

ИнтерфейсыКомментарии
IDispatch

ISpecifyPropertyPages

Отображает свойства элемента в окне «Свойства «.
IVsOutput2

IVsEnumOutputs

Отображает выходные данные для развертывания.

В следующей таблице представлены краткие описания служб, определенных в модели проекта.

Службы

СлужбаКомментарии
SVsRegisterProjectTypesИспользуется VSPackages, реализующих типы проектов для регистрации того, что фабрика проектов существует в интегрированной среде разработки. VsPackage должен вызвать QueryService эту службу и зарегистрировать ее фабрику проектов при IVsPackage::SetSite вызове метода. SetSite Если метод не вызывается, экземпляр проекта не создается.
SVsSolutionПредоставляет доступ к внутреннему встроенному представлению текущего решения интегрированной среды разработки, таким как возможность перечисления проектов, создание новых проектов, уведомление об изменениях проекта и т. д.
SVsSccManagerВызывается проектами, которые хотят участвовать в системе управления версиями.
SVsRunningDocumentTableПоддерживает таблицу открытых документов, чтобы определить, открыт ли один или несколько элементов проекта.
SVsUIShellOpenDocumentСодержит интерфейсы и методы, вызывающиеся для фактического открытия элемента проекта с помощью стандартного редактора или определенного редактора.
SVsTrackProjectDocumentsТребуется вызываться всеми проектами при добавлении, удалении или переименовании элементов.
SVsFileChangeExУправляет изменениями файла или каталога и уведомляет клиентов о том, что выбранные файлы были изменены на диске.
SVsQueryEditQuerySaveТребуется вызываться всеми проектами и редакторами перед тем, как они грязные элементы или сохранить их.
SVsSolutionBuildManagerУправляет порядком операций сборки и развертывания для конфигураций проекта.
SVsShellDebuggerПредоставляет доступ к службам отладчика низкого уровня, используемым для большинства элементов управления отладкой.
SVsShellMonitorSelectionПозволяет VSPackages получать доступ к сведениям о текущих выборах и обеспечивает обмен данными с окном свойств .
SVsUIShellПредоставляет базовые функции интегрированной среды разработки, связанные с пользовательским интерфейсом, такие как возможность создавать и перечислять окна инструментов или окна документов или сообщать об ошибке пользователю.
SVsStatusbarПредоставляет доступ к строке состояния интегрированной среды разработки.
IVsExtensibility3Используется для реализации модели автоматизации. В модели проекта вы вернете объект свойств, который позволяет создать экземпляр этого объекта.
SVsUIHierWinClipboardHelperИспользуется для реализации событий буфера обмена в объекте проекта в иерархии. SVsUIHierWinClipboardHelper позволяет правильно обрабатывать операции вырезания, копирования и вставки.
  • IOleCommandTarget
  • Контрольный список. Создание новых типов проектов
  • Не в сборке: использование классов проектов HierUtil7 для реализации типа проекта (C++)
  • Вспомогательные средства просмотра символов
  • Элементы модели проекта









Уровни пакетов обновления для распространяемого компонента VC++ — Visual C++






Twitter




LinkedIn




Facebook




Адрес электронной почты










  • Статья


В этой статье описывается минимальный уровень пакета обновления для Microsoft Visual C++ распространяемых пакетов.

Исходная версия продукта: Windows 8, Windows Server 2012, Windows Server 2008, Windows Server 2008 R2, Windows 10
Исходный номер базы знаний: 2661358

Аннотация

На страницах Центра загрузки Майкрософт для пакетов Распространяемый компонент Visual C++ не отображаются определенные минимальные уровни пакетов обновления, необходимые для целевых операционных систем.

В следующих разделах указаны поддерживаемые операционные системы и уровни пакетов обновления для каждого пакета Распространяемый компонент Visual C++. Каждый раздел также содержит ссылку на страницу Центра загрузки для этого пакета. Некоторые распространяемые пакеты были протестированы и опубликованы до новых версий Windows. Таким образом, более новые версии Windows могут не отображаться в разделе Поддерживаемые платформы на странице загрузки. При выпуске новой версии Windows выполняется тестирование, чтобы убедиться в совместимости между пакетом Распространяемый компонент Visual C++ и Windows.

Жизненный цикл поддержки для Распространяемый компонент Visual C++ привязан к жизненным циклам соответствующей версии Visual Studio и платформы Windows, на которой она используется. Если Распространяемый компонент Visual C++ устанавливается продуктом, который по-прежнему поддерживается, распространяемый объект поддерживается в разделе Вопросы и ответы о жизненном цикле — общая политика для этого продукта.

Дополнительные сведения о жизненном цикле поддержки версий Visual Studio или Windows см. в статье Политика жизненного цикла Майкрософт.

Распространяемый компонент Visual C++ для Visual Studio 2015

Скачайте Распространяемый компонент Visual C++ для Visual Studio 2015.
Поддерживаемые уровни пакетов обновления операционной системы:

  • Windows 10 (x64 и x86)
  • Windows 8.1 (x64 и x86)
  • Windows Server 2012 R2 (x64)
  • Windows 8 (x64 и x86)
  • Windows Server 2012 (x64)
  • Windows Server 2008 R2 с пакетом обновления 1 (SP1) или более поздних версий (x64)
  • Windows Server 2008 с пакетом обновления 2 (SP2) или более поздних версий (x64)

Дополнительные сведения о поддержке операционной системы см. в разделе Visual Studio 2015 Platform Targeting and Compatibility.

Распространяемый компонент Visual C++ для Visual Studio 2013 г.

Скачайте Распространяемый компонент Visual C++ для Visual Studio 2013.

Поддерживаемые уровни пакетов обновления операционной системы:

  • Windows 10 (x64 и x86)
  • Windows 8.1 (x64 и x86)
  • Windows Server 2012 R2 (x64)
  • Windows 8 (x64 и x86)
  • Windows Server 2012 (x64)
  • Windows Server 2008 R2 с пакетом обновления 1 (SP1) или более поздних версий (x64)
  • Windows Server 2008 с пакетом обновления 2 (SP2) или более поздних версий (x64)

Распространяемый компонент Visual C++ для Visual Studio 2012 с обновлением 4

Скачайте Распространяемый компонент Visual C++ для Visual Studio 2012 с обновлением 4.

Поддерживаемые уровни пакетов обновления операционной системы:

  • Windows 10 (x64 и x86)
  • Windows 8.1 (x64 и x86)
  • Windows Server 2012 R2 (x64)
  • Windows 8 (x64 и x86)
  • Windows Server 2012 (x64)
  • Windows Server 2008 R2 с пакетом обновления 1 (SP1) или более поздних версий (x64)
  • Windows Server 2008 с пакетом обновления 2 (SP2) или более поздних версий (x64)

Распространяемый пакет Visual C++ 2010 с пакетом обновления 1 (SP1)

Поддерживаемые уровни пакетов обновления операционной системы:

  • Windows 10 (x64 и x86)
  • Windows 8. 1 (x64 и x86)
  • Windows 8 (x64 и x86)
  • Windows Server 2012 R2 (x64)
  • Windows Server 2012 (x64)
  • Windows Server 2008 R2 RTM или более поздние версии (x64)
  • Windows Server 2008 с пакетом обновления 2 (SP2) или более поздних версий (все выпуски)

Распространяемый пакет Visual C++ 2010 RTM

Поддерживаемые уровни пакетов обновления операционной системы:

  • Windows Server 2008 R2 с пакетом обновления 1 (SP1) (x64)
  • Windows Server 2008 R2 RTM или более поздних версий
  • Windows Server 2008 с пакетом обновления 2 (SP2) или более поздних версий






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

Редактировать

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Статья

Важно

В Visual Studio 2019 и более поздних версиях модули слияния для распространяемых файлов Visual C++ устарели. Мы не рекомендуем использовать их для развертывания приложений. Распространяемые файлы, установленные с помощью модулей слияния, не могут быть обновлены Центром обновления Windows, поскольку механизм обнаружения зависит от сведений об устанавливаемом пакете. Распространяемые пакеты Visual C++ известны для каждого выпуска, но пакеты, использующие MSM, создаются пользователями. Microsoft не может знать подробности пакетов, созданных пользователями. Вместо этого мы рекомендуем использовать централизованное развертывание распространяемого пакета Visual C++. Центральное развертывание устанавливает распространяемые файлы в Windows 9.0019 %SYSTEMROOT%\system32\ папка для использования всеми приложениями и пользователями. Централизованное развертывание с помощью распространяемого пакета позволяет корпорации Майкрософт независимо обслуживать файлы библиотеки времени выполнения. Кроме того, удаление вашего приложения не может нарушить работу других приложений, которые также используют централизованное развертывание. Когда вы используете распространяемый пакет для централизованного развертывания, вы не несете ответственности за отслеживание и обновление библиотек времени выполнения в рамках обслуживания вашего приложения: служба Microsoft Update обновляет эти библиотеки для вас. В противном случае обновление файлов библиотеки времени выполнения потребует от вас обновления и повторного развертывания вашей .msi установщик. Ваше приложение может быть уязвимо для ошибок или проблем с безопасностью, пока вы этого не сделаете.

Visual Studio включает модули слияния (файлы .msm ) для каждого компонента Visual C++, лицензированного для распространения вместе с приложением. Существуют отдельные версии модулей слияния для каждой целевой платформы. Когда модуль слияния компилируется в файл установки установщика Windows, он позволяет развертывать распространяемые файлы Visual C++ на этой конкретной платформе. Вы не можете включать модули слияния для разных версий одной и той же DLL в один установщик. В установочном файле установщика укажите, что модули слияния необходимы для вашего приложения.

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

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

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

Последние распространяемые пакеты и модули слияния совместимы с кодом, созданным с помощью Visual Studio 2015 и более поздних версий. Для кода, созданного версиями Visual Studio до 2015 года, требуется отдельный распространяемый пакет.

Когда использовать модули слияния

Модули слияния подходят только в ограниченных случаях:

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

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

Где найти файлы модулей слияния

В Visual Studio 2022 и 2019 файлы модулей слияния являются частью дополнительного устанавливаемого компонента с именем C++ <версия> Распространяемые файлы MSM в установщике Visual Studio. Модули слияния устанавливаются по умолчанию как часть установки C++ в Visual Studio 2017 и Visual Studio 2015. При установке в Visual Studio 2022 вы найдете распространяемые модули слияния Visual C++ в разделе 9.0019 %VCINSTALLDIR%Redist\MSVC\v143\MergeModules . В последней версии Visual Studio 2019 модули слияния находятся по адресу %VCINSTALLDIR%Redist\MSVC\v142\MergeModules . И в Visual Studio 2019, и в Visual Studio 2017 они также находятся в %VCToolsRedistDir%MergeModules . В Visual Studio 2015 они находятся в Program Files [(x86)]\Common Files\Merge Modules . Дополнительные сведения и ссылку на список распространяемых модулей слияния см. в разделе Распространение файлов Visual C++.

См. также

Распространение файлов Visual C++

Обратная связь

Просмотреть все отзывы о странице

идентификаторов рабочей нагрузки и компонентов Visual Studio

Твиттер

LinkedIn

Фейсбук

Электронная почта

  • Статья

Применяется к: Visual Studio Visual Studio для Mac Visual Studio Code

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

Обновлено для выпуска 16.11

Редакция ID Описание
Visual Studio Enterprise 2019 Microsoft.VisualStudio.Product.Enterprise Решение Microsoft DevOps для повышения производительности и координации между командами любого размера
Visual Studio Professional 2019 Microsoft.VisualStudio.Product.Professional Профессиональные инструменты и услуги разработчика для небольших групп
Сообщество Visual Studio 2019 Microsoft.VisualStudio.Product.Community Бесплатная полнофункциональная среда разработки для студентов, разработчиков с открытым исходным кодом и индивидуальных разработчиков
Visual Studio Team Explorer 2019 Microsoft.VisualStudio.Product.TeamExplorer Взаимодействие с Team Foundation Server и Azure DevOps Services без набора инструментов разработчика Visual Studio
Инструменты сборки Visual Studio 2019 Microsoft. VisualStudio.Product.BuildTools Инструменты сборки Visual Studio позволяют создавать собственные и управляемые приложения на основе MSBuild, не требуя интегрированной среды разработки Visual Studio. Существуют варианты установки компиляторов и библиотек Visual C++, поддержки MFC, ATL и C++/CLI.
Агент тестирования Visual Studio 2019 Microsoft.VisualStudio.Product.TestAgent Поддерживает удаленный запуск автоматизированных тестов и нагрузочных тестов
Контроллер тестовой нагрузки Visual Studio 2019 Microsoft.VisualStudio.Product.TestController Распространение автоматических тестов на несколько машин

Дополнительные сведения об использовании этих списков см. на странице Использование параметров командной строки для установки Visual Studio и Практическое руководство. Перенос проектов расширения в Visual Studio.

Примечание

Список идентификаторов рабочей нагрузки и компонентов для предыдущей версии см. в разделе идентификаторы рабочей нагрузки и компонентов Visual Studio 2017

Обновлено для версии 17.6

Редакция ID Описание
Visual Studio Enterprise 2022 Microsoft.VisualStudio.Product.Enterprise Решение Microsoft DevOps для повышения производительности и координации между командами любого размера
Visual Studio Professional 2022 Microsoft.VisualStudio.Product.Professional Профессиональные инструменты и услуги разработчика для небольших групп
Сообщество Visual Studio 2022 Microsoft.VisualStudio.Product.Community Бесплатная полнофункциональная среда разработки для студентов, разработчиков с открытым исходным кодом и индивидуальных разработчиков
Visual Studio Team Explorer 2022 Microsoft. VisualStudio.Product.TeamExplorer Взаимодействие с Team Foundation Server и Azure DevOps Services без набора инструментов разработчика Visual Studio
Инструменты сборки Visual Studio 2022 Microsoft.VisualStudio.Product.BuildTools Инструменты сборки Visual Studio позволяют создавать собственные и управляемые приложения на основе MSBuild, не требуя интегрированной среды разработки Visual Studio. Существуют варианты установки компиляторов и библиотек Visual C++, поддержки MFC, ATL и C++/CLI.
Агент тестирования Visual Studio 2022 Microsoft.VisualStudio.Product.TestAgent Поддерживает удаленный запуск автоматизированных тестов и нагрузочных тестов
Контроллер нагрузочного теста Visual Studio 2022 Microsoft.VisualStudio.Product.TestController Распространение автоматических тестов на несколько машин

Дополнительные сведения об использовании этих списков см. на странице Использование параметров командной строки для установки Visual Studio и на странице Обновление расширения Visual Studio для Visual Studio 2022.

Примечание

Список идентификаторов рабочей нагрузки и компонентов для предыдущей версии см. в Visual Studio 2019.идентификаторы рабочей нагрузки и компонентов

Поддержка или устранение неполадок

Иногда что-то может пойти не так. Если установка Visual Studio завершается сбоем, пошаговые инструкции см. в разделе Устранение неполадок при установке и обновлении Visual Studio.

Вот еще несколько вариантов поддержки:

  • Мы предлагаем установочный чат (только на английском языке) по вопросам, связанным с установкой.
  • Сообщайте нам о проблемах продукта с помощью инструмента «Сообщить о проблеме», который появляется как в установщике Visual Studio, так и в интегрированной среде разработки Visual Studio. Если вы являетесь ИТ-администратором и у вас не установлена ​​Visual Studio, вы можете отправить отзыв ИТ-администратору здесь.