VCProject Interface

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

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

Syntax

'Declaration
<GuidAttribute("0BBF7245-57DC-45DD-804F-B337A15D1418")> _
Public Interface VCProject _
    Inherits VCProjectItem
[GuidAttribute("0BBF7245-57DC-45DD-804F-B337A15D1418")]
public interface VCProject : VCProjectItem
[GuidAttribute(L"0BBF7245-57DC-45DD-804F-B337A15D1418")]
public interface class VCProject : VCProjectItem
[<GuidAttribute("0BBF7245-57DC-45DD-804F-B337A15D1418")>]
type VCProject =  
    interface 
        interface VCProjectItem 
    end
public interface VCProject extends VCProjectItem

The VCProject type exposes the following members.

Properties

  Name Description
Public property AssemblyReferenceSearchPaths Sets or gets a list of assembly search paths.
Public property Configurations Gets the collection of configurations on the project.
Public property FileEncoding Infrastructure. Microsoft Internal Use Only.
Public property FileFormat Infrastructure. Microsoft Internal Use Only.
Public property Files Gets the collection of files on the object.
Public property Filters Gets the collection of filters (or folders) on the object.
Public property GetAllowedReferencesTypes
Public property IsDirty Infrastructure. Microsoft Internal Use Only.
Public property ItemName Gets the name of the current item in the collection.
Public property Items Gets the collection of files and top-level folders in a project or the collection of files and folders in a folder.
Public property keyword Gets or sets the collection of Dynamic Help keywords associated with a project.
Public property Kind Gets an enumeration indicating the type of object.
Public property ManagedDBConnection Infrastructure. Microsoft Internal Use Only.
Public property ManagedDBProvider Infrastructure. Microsoft Internal Use Only.
Public property Name Gets or set the name of the object.
Public property Object Provides a reference between the Visual Studio object model and the Visual C++ object model.
Public property OwnerKey Infrastructure. Microsoft Internal Use Only.
Public property Parent Gets the immediate parent object.
Public property Platforms Gets the platforms for which this project can be built. For Visual C++, this is only Win32.
Public property project Gets the VCProject associated with the object.
Public property ProjectDirectory Gets the name of the directory that contains the project file.
Public property ProjectFile Gets the name of the project file.
Public property ProjectGUID Infrastructure. Microsoft Internal Use Only.
Public property References Gets the collection of references for the selected project.
Public property ReferencesConsumableByDesigners Gets the collection of references that are consumable by designers in the active solution configuration.
Public property RootNamespace Gets the root namespace for the specified project.
Public property SccAuxPath Infrastructure. Microsoft Internal Use Only.
Public property SccLocalPath Infrastructure. Microsoft Internal Use Only.
Public property SccProjectName Infrastructure. Microsoft Internal Use Only.
Public property SccProvider Infrastructure. Microsoft Internal Use Only.
Public property ShowAllFiles Sets or gets whether to show all files in the solution explorer.
Public property SupportedPlatformNames
Public property TargetFrameworkMoniker Gets the name of the target framework.
Public property TargetFrameworkVersion Gets or sets the version of the .NET Framework that is targeted by the project.
Public property ToolFiles Gets a collection of custom build rule files.
Public property VCProjectEngine Gets a pointer to the project engine.
Public property VCReferences Gets the collection of references for the selected project.

Top

Methods

  Name Description
Public method AddActiveXReference Adds an ActiveX (COM) reference to the project.
Public method AddAssemblyReference Adds an assembly (.NET) reference to the selected project.
Public method AddConfiguration Adds a configuration to the current project.
Public method AddFile Adds a file to the current project or folder.
Public method AddFilter Adds a folder to the current project or folder.
Public method AddPlatform Adds a platform to the current project (not enabled for Visual C++).
Public method AddProjectReference Adds a project reference to the project.
Public method AddRuleDefinition Adds a rule to the project so that it is available as an IVCRulePropertyStorage.
Public method AddSdkReference
Public method AddToolFile Adds a custom build rule file to a project.
Public method AddWebReference Adds a reference to a Web Service to the project.
Public method AddWinRTReference
Public method CanAddActiveXReference Gets a value indicating whether to add the given ActiveX (COM) reference.
Public method CanAddAssemblyReference Returns whether it is okay to add the given assembly (.NET) reference.
Public method CanAddFile Returns true if the specified file can be added to the current project or filter.
Public method CanAddFilter Returns true if the specified filter can be added as a top-level filter or as a subfilter to the current filter.
Public method CanAddProjectReference Returns whether it is okay to add the given project reference
Public method CanAddSdkReference
Public method CanAddWinRTReference
Public method ContainsFileEndingWith Indicates whether there is a file name that ends with a specified string.
Public method ContainsFileWithItemType Indicates whether there is a file whose type matches a specified type.
Public method GetFilesEndingWith Retrieves a collection of file names whose trailing characters match a specified string.
Public method GetFilesWithItemType Retrieves a collection of file names whose whose type matches a specified type.
Public method GetVCService
Public method IncludeHeaderFile Adds a #include HeaderFile directive to a pre-compiled header file, or to a specified file.
Public method LoadProjectOptions Infrastructure. Microsoft Internal Use Only.
Public method LoadUserFile Loads the user option file.
Public method MakeManagedDBConnection Infrastructure. Microsoft Internal Use Only.
Public method MatchName Matches a specified name to the name of a collection item.
Public method RemoveConfiguration Removes a configuration from the current project.
Public method RemoveFile Removes a file from the current project or folder.
Public method RemoveFilter Removes a folder from the current project and any files or other folders in the folder.
Public method RemovePlatform Removes a platform from the current project (not enabled for Visual C++).
Public method RemoveReference Removes the specified reference from the project or references collection.
Public method RemoveRuleDefinition Removes a Rule definition from the project.
Public method RemoveToolFile Removes a custom build rules file from the project.
Public method Save Infrastructure. Saves the project file (.vcxproj).
Public method SaveProjectOptions Infrastructure. Microsoft Internal Use Only.
Public method SaveUserFile Saves the user option file.
Public method Version Sets or returns the major and minor version numbers of the project.

Top

Examples

' Add a reference to Microsoft.VisualStudio.VCProjectEngine and have a 
' Visual C++ project loaded before running this example.
Imports EnvDTE
Imports Microsoft.VisualStudio.VCProjectEngine
Public Module Module1
    Sub Test()
        Dim prj As VCProject
        Dim vcar As VCAssemblyReference
        Dim refcfg As VCReferenceConfiguration

        prj = DTE.Solution.Projects.Item(1).Object
        If prj.CanAddAssemblyReference("C:\Program Files\ _
        Microsoft Visual Studio 8\Common7\IDE\ _
        PublicAssemblies\envdte.dll") Then
           vcar = prj.AddAssemblyReference("C:\Program Files\ _
           Microsoft Visual Studio 8\Common7\IDE\ _
           PublicAssemblies\envdte.dll")
        End If
        refcfg = vcar.ReferenceConfigurations.Item(1)
        MsgBox("Consumable? " & refcfg.ConsumableByDesigner)
    End Sub
End Module

See Also

Reference

Microsoft.VisualStudio.VCProjectEngine Namespace