This documentation is archived and is not being maintained.

Visual C++ Extensibility Object Model

Visual Studio add-ins are deprecated in Visual Studio 2013. You should upgrade your add-ins to VSPackage extensions. For more information about upgrading, see FAQ: Converting Add-ins to VSPackage Extensions.

This section of the Visual C++ documentation discusses four object models that comprise the Visual C++ Extensibility Object Model.

The Visual C++ Extensibility Object Model is a set of COM objects, interfaces, and associated managed wrappers that can be used with any language that complies with COM or the .NET Framework to automate actions occurring in the Visual Studio integrated development environment (IDE).

Each model includes predefined objects representing parts of a Visual C++ project. Objects can be manipulated with Visual C++ or with other languages supported by Visual C++, such as Visual C#. Properties can be read and set, methods can be called, and events can be handled in any language that complies with COM or the .NET Framework. Each model can be manipulated with Visual Basic macros or through the Properties window.

Visual C++ Code Model

Explains how to manipulate internal elements, such as a defined class or function within a Visual C++ project.

Visual C++ Project Model

Explains the model that regulates projects and builds.

Visual C++ Wizard Model

Explains how to provide automation support for designing wizards.

Automation and Extensibility Reference

Includes reference information for the extensibility models.