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