Visual C++ Project Model

The Visual C++ Project Model, contained in the file VCProjectEngine.dll, programmatically exposes the functionality of the compiler, linker, and other build tools. Additionally, the Visual C++ Project Model exposes the functionality of the Property Pages dialog box for a Visual C++ project.

VCProjectEngine.dll is stand-alone COM component, which also enables you to leverage its objects outside the Visual Studio integrated development environment (IDE). For example, you can integrate Visual C++ Project Model objects into MSBuild tasks, which you could run from the command line.

The following objects are defined in the Visual C++ Project Model.

Object

Description

IVCCollection collection.

An IVCCollection object contains the functionality that can be exercised on a collections object.

VCActiveXReference object.

Represents a reference to an ActiveX object.

VCALinkTool object.

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

VCAssemblyReference object.

Represents a reference to a .NET assembly.

VCBscMakeTool object.

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

VCCLCompilerTool object.

Exposes the functionality of the C++ compiler options.

VCConfiguration object.

The VCConfiguration object programmatically accesses the properties in the General Property Page of a project's Property Pages dialog box.

VCCustomBuildTool object.

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

VCDebugSettings object.

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 object.

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

VCFilter object.

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

VCLibrarianTool object.

Exposes the functionality of the LIB Reference tool.

VCLinkerTool object.

The VCLinkerTool object exposes the functionality of the linker options.

VCManagedResourceCompilerTool object.

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

VCMidlTool object.

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

VCNMakeTool object.

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

VCPlatform object.

Affects platform-specific properties, including those exposed in the VC++ Directories, Projects and Solutions, Options Dialog Box.

VCPostBuildEventTool object.

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

VCPreBuildEventTool object.

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

VCPreLinkEventTool object.

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

VCProject object.

Exposes the properties on a Visual C++ project.

VCProjectEngine object.

VCProjectEngine represents the Visual C++ project model and is its top-most object. It is the only Visual C++ Project Model object that can be returned by CoCreateInstance.

VCProjectEngineEvents object.

Exposes events fired by a Visual C++ project.

VCProjectItem object.

A file or folder in a project.

VCProjectReference object.

Represents a reference to a project in the same solution.

VCReference object.

Represents a reference in the project.

VCReferences object.

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

VCResourceCompilerTool object.

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

VCWebDeploymentTool object.

The VCWebDeploymentTool object provides programmatic access to the Web deployment tool.

VCWebServiceProxyGeneratorTool object.

Exposes the properties available from the Web References Property Page.

VCXMLDataGeneratorTool object.

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

See Also

Other Resources

Visual C++ Extensibility Object Model