Visual C++ Project Model

The Visual C++ project model exposes the functionality of the compiler, linker, project and item properties, and build tools. You can find the elements of the project model in the Microsoft.VisualStudio.VCProjectEngine namespace.

You can use the Visual C++ project model only inside Visual Studio. For information about how to get the project model, see How to: Manipulate Projects by Using the Visual C++ Project Model. For information about how to use the project model to get project properties, see Working with Visual C++ Project Properties.

The following elements are defined in the Visual C++ project model.

Project model element

Description

IVCCollection

Contains the functionality that can be exercised on a collections object.

VCActiveXReference

Represents a reference to an ActiveX object.

VCALinkTool

Represents the ALink tool, which is used to generate satellite assemblies from managed resources.

VCAssemblyReference object.

Represents a reference to a .NET assembly.

VCBscMakeTool

Contains properties that allow you to programmatically manipulate the settings on the properties in the Browse Information folder.

VCCLCompilerTool

Exposes the functionality of the C++ compiler options.

VCConfiguration

Accesses the properties in the General Property Page of a project's Property Pages dialog box.

VCCustomBuildTool

Accesses the properties in the Custom Build Step Property page in a project's Property Pages dialog box.

VCDebugSettings

Contains properties that allow you to programmatically manipulate the settings on the Debug Property page, which is in the Configuration Properties folder of a project's Property Pages dialog box.

VCFile object.

Describes the operations that can take place on a file in the active project.

VCFileConfiguration

Contains build information about a file (VCFile), including such things as the tool that is attached to the file for that configuration.

VCFilter

Exposes the functionality on a folder in Solution Explorer for a Visual C++ project.

VCLibrarianTool

Exposes the functionality of the LIB Reference tool.

VCLinkerTool

Exposes the functionality of the linker options.

VCManagedResourceCompilerTool

Represents the managed resource compiler, a tool used to compile .resx files.

VCMidlTool

Accesses the properties in the MIDL folder of a project's Property Pages dialog box.

VCNMakeTool

Accesses the properties in the NMAKE folder of a project's Property Pages dialog box.

VCPlatform

Affects platform-specific properties.

VCPostBuildEventTool

Accesses the properties on the Post-Build Event property page, in the Build Events folder in a project's Property Pages dialog box.

VCPreBuildEventTool

Accesses the properties on the Pre-Build Event property page, in the Build Events folder in a project's Property Pages dialog box.

VCPreLinkEventTool

Accesses the properties on the PreLink Event property page, in the Build Events folder in a project's Property Pages dialog box.

VCProject

Exposes the properties on a Visual C++ project.

VCProjectEngine

Represents the Visual C++ project model and is its topmost object. It is the only Visual C++ Project Model object that can be returned by CoCreateInstance.

VCProjectEngineEvents

Exposes events fired by a Visual C++ project.

VCProjectItem

A file or folder in a project.

VCProjectReference

Represents a reference to a project in the same solution.

VCReference

Represents a reference in the project.

VCReferences

A collection of VCReference objects, each representing a reference in the project.

VCResourceCompilerTool

Accesses the properties on the Resources folder in a project's Property Pages dialog box.

VCWebDeploymentTool

Provides programmatic access to the Web deployment tool.

VCWebServiceProxyGeneratorTool

Exposes the properties available from the Web References Property Page.

VCXMLDataGeneratorTool

Represents the XML data generator. Used to generate Visual C++ code from XML.

See Also

Other Resources

Visual C++ Extensibility Object Model