Microsoft.VisualStudio.VCProjectEngine Namespace

The VCProjectEngine namespace represents the Visual C++ project model and is its top-most object. You can find the Microsoft.VisualStudio.VCProjectEngine.dll assembly in the directory <Visual Studio installation directory\Common7\IDE\PublicAssemblies.

Classes

_dispVCProjectEngineEvents_SinkHelper

Microsoft Internal Use Only.

VCProjectEngineEventsClass

Refer to VCProjectEngineEvents for this functionality. Do not instantiate from this class.

VCProjectEngineObjectClass

The main object for VCProjectEngine automation model.

Interfaces

_dispVCProjectEngineEvents

Microsoft internal use only.

_dispVCProjectEngineEvents_Event

Microsoft Internal Use Only.

_VCProjectEngineEvents

Refer to VCProjectEngineEvents for this functionality. Do not instantiate this class.

IVCBuildCompleteCallback
IVCBuildPropertyStorage
IVCBuildRequest
IVCBuildRequest2
IVCCollection

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

IVCIdentity
IVCProjectBuildService
IVCProjectEngineEvents

Interface that contains the VCProjectEngine events methods.

IVCProjectEngineEvents2
IVCProjectTargetChange
IVCProjectTargetDescription
IVCPropertyStorage
IVCRulePropertyStorage
IVCRulePropertyStorage2
IVCTask
SVCProjectEngine
VCActiveXReference

Represents a reference to an ActiveX object.

VCALinkTool

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

VCAssemblyReference

Represents a reference to a .NET assembly.

VCBscMakeTool

The VCBscMakeTool object contains properties that allow you to programmatically manipulate the settings on the properties in the Browse Information folder, which is in the Configuration Properties folder of a project's Property Pages dialog box. See Working with Project Properties for information about accessing a project's Property Pages dialog box.

VCCLCompilerTool

The VCCLCompilerTool object exposes the functionality of the C++ compiler options. See Compiler Options for more information about compiler options.

VCConfiguration

The VCConfiguration object programmatically accesses the properties in the General property page of a project's Property Pages dialog box. This object also allows access to the tools used to build this configuration.

VCConfiguration2
VCConfiguration3
VCCustomBuildTool

The VCCustomBuildTool object programmatically accesses the properties in the Custom Build Step property page in a project's Property Pages dialog box.

VCDebugSettings

The 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

The VCFile object describes the operations that can take place on a file in the active project.

VCFileConfiguration

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

VCFilter

A VCFilter object exposes the functionality on a folder in Solution Explorer for a Visual C++ project.

VCForeignReference
VCFxCopTool

Microsoft Internal Use Only.

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

VCManifestTool

Enables combining manifest files.

VCMidlTool

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

VCNMakeTool

Programmatically accesses the properties in the NMAKE folder of a project's Property Pages dialog box. See Working with Project Properties for information about how to access a project's Property Pages dialog box.

VCPlatform

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

VCPostBuildEventTool

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

VCPreBuildEventTool

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

VCPreLinkEventTool

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

VCProject

This object exposes the properties on a Visual C++ project.

VCProjectEngine

The only Visual C++ project model object that can be returned by CoCreateInstance.

VCProjectEngine2
VCProjectEngineEvents

The VCProjectEngineEvents object exposes events fired by a Visual C++ project. Use VCProjectEngineEvents for functionality and refer to _dispVCProjectEngineEvents for this object's documentation.

VCProjectEngineObject

The main object for VCProjectEngine automation model.

VCProjectItem

A file or folder in a project.

VCProjectReference

Represents a reference to a project in the same solution.

VCPropertySheet

Provides access to the project engine property sheets.

VCReference

Represents a reference in the project.

VCReferences

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

VCResourceCompilerTool

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

VCSdkReference
VCSharedProjectReference
VCToolFile

Gives access to custom build rules.

VCUserMacro

Gives access to user defined macros.

VCWinRTReference
VCXDCMakeTool

Interface to control the creation of XML doc files.

VCXMLDataGeneratorTool

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

Enums

addressAwarenessType

Used to specify whether the linker is able to handle addresses larger than 2 GB.

asmListingOption

Used by the AssemblerOutput property.

basicRuntimeCheckOption

Used by the BasicRuntimeChecks property.

bldActionTypes
browseInfoOption

Used by the BrowseInformation property.

BuildWithPropertySheetType

Describes settings for builds.

callingConventionOption

Used to select the default calling convention.

charSet

Defines whether _UNICODE or _MBCS should be set. It also affects the linker entry point where appropriate.

compileAsManagedOptions

Used by the CompileAsManaged property.

CompileAsOptions

Used to select compile language option for .c and .cpp files.

compilerErrorReportingType

Allows you to provide internal compiler error (ICE) information directly to the Visual C++ team.

ConfigurationTypes

Specifies the type of output this configuration generates.

cppExceptionHandling

Used by the ExceptionHandling.property.

debugOption

Used by the DebugInformationFormat property.

driverOption

Used by the AdditionalOptions linker property.

eCLRImageType

Specifies the type of a CLR image. Useful when linking object files of different types.

eCLRThreadAttribute

Used by the CLRThreadAttribute property.

eDebuggerTypes

Types of debuggers available to C++ projects.

eFileType

Used by the FileType property.

enhancedInstructionSetType

Used by the EnableEnhancedInstructionSet property.

enumDataExecutionPreventionBOOL

Indicates that an executable was tested to be compatible with the Windows Data Execution Prevention (DEP) feature.

enumFileFormat

Microsoft Internal Use Only.

enumFrameworkVersion

Represents a version of the .NET Framework targeted by the project.

enumMPIAcceptModes

Specifies the Multi-Processor-Interface accept modes for the debugger.

enumRandomizedBaseAddressBOOL

Specifies whether to generate an executable image that can be randomly rebased at load time by using the address space layout randomization (ASLR) feature of Windows Vista.

enumResourceLangID

Used by the Culture property.

enumSccEvent

Signifies an event that has occurred in the project engine.

eSqlClrPermissionLevel

Enumeration to indicate the SQL permission level.

eWebRefUrlBehavior

Microsoft Internal Use Only.

favorSizeOrSpeedOption

Used to indicate whether to minimize or maximize the size of EXEs and DLLs.

floatingPointModel

Specifies floating point behavior.

inlineExpansionOption

Used to define the level of inline function expansion for the build.

linkAssemblyDebug

Used by the AssemblyDebug property.

linkerErrorReportingType

Allows you to provide internal linker error information directly to the Visual C++ team.

linkFixedBaseAddress

Advises the operating system to load the program only at its preferred base address. If the preferred base address is unavailable, the operating system does not load the file.

linkIncrementalType

Used to switch on incremental linking. It is used by the LinkIncremental property.

linkProgressOption

Used by the ShowProgress property.

LinkTimeCodeGenerationOption

Corresponds to the Link Time Code Generation command line options.

linkUACExecutionLevel

Specifies whether User Account Control (UAC) information is embedded in the program manifest.

machineTypeOption

Used by the TargetMachine property.

midlCharOption

Used by the DefaultCharType property.

midlErrorCheckOption

Used by the EnableErrorChecks property.

midlStructMemberAlignOption

Used by the StructMemberAlignment property.

midlTargetEnvironment

Used by the TargetEnvironment property.

midlWarningLevelOption

Used by the WarnLevel property.

optFoldingType

Used by the EnableCOMDATFolding property.

optimizeOption

Used by the Optimization property.

optManagedIncrementalBuild

(Deprecated) Specifies whether an incremental build is used to build a manageg project. An incremental build compiles only those methods that have changed since the last compilation.

optRefType

Used by the OptimizeReferences property.

optWin98Type

Used by the OptimizeForWindows98 property.

pchOption

Used by the UsePrecompiledHeader property.

preprocessOption

Used by the GeneratePreprocessedFile property.

RemoteDebuggerType

Used by the Remote property.

runtimeLibraryOption

Used by the RuntimeLibrary property.

structMemberAlignOption

Used by the StructMemberAlignment property.

subSystemOption

Used by the SubSystem property.

termSvrAwarenessType

Used by the TerminalServerAware property.

TypeOfDebugger

Used by the DebuggerType property. It specifies the debugger type to use.

useOfATL

Used by the useOfATL property.

useOfMfc

Used by the useOfMfc property.

vcRefType
warningLevelOption

Used by the WarnLevel property.

WholeProgramOptimizationTypes

Specifies that the program will be optimized across object boundaries

Delegates

_dispVCProjectEngineEvents_ItemAddedEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_ItemMovedEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_ItemPropertyChange2EventHandler
_dispVCProjectEngineEvents_ItemPropertyChangeEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_ItemRemovedEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_ItemRenamedEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_ProjectBuildFinishedEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_ProjectBuildStartedEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_ReportErrorEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_SccEventEventHandler

Microsoft internal use only.

_dispVCProjectEngineEvents_SolutionLoadedEventHandler

Microsoft Internal Use Only.