We recommend using Visual Studio 2017
This documentation is archived and is not being maintained.

Project Interface

Represents a project in the integrated development environment (IDE).

Namespace:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

type Project =  interface end

The Project type exposes the following members.

Public propertyCodeModelGets the CodeModel object for the project.
Public propertyCollectionGets the Projects collection containing the Project object supporting this property.
Public propertyConfigurationManagerGets the ConfigurationManager object for this Project .
Public propertyDTEGets the top-level extensibility object.
Public propertyExtenderGets the requested Extender object if it is available for this object.
Public propertyExtenderCATIDGets the Extender category ID (CATID) for the object.
Public propertyExtenderNamesGets a list of available Extenders for the object.
Public propertyFileNameInfrastructure. Microsoft Internal Use Only.
Public propertyFullNameGets the full path and name of the Project object's file.
Public propertyGlobalsGets the Globals object containing add-in values that may be saved in the solution (.sln) file, the project file, or in the user's profile data.
Public propertyIsDirtyInfrastructure. Microsoft Internal Use Only.
Public propertyKindGets a GUID string indicating the kind or type of the object.
Public propertyNameGets or sets the name of the object.
Public propertyObjectGets an interface or object that can be accessed by name at run time.
Public propertyParentProjectItemGets a ProjectItem object for the nested project in the host project.
Public propertyProjectItemsGets a ProjectItems collection for the Project object.
Public propertyPropertiesGets a collection of all properties that pertain to the Project object.
Public propertySavedGets or sets a value indicating whether the object has not been modified since last being saved or opened.
Public propertyUniqueNameGets a unique string value that allows you to differentiate between similarly named projects.

Public methodDeleteRemoves the project from the current solution.Note that this method is not currently implemented.
Public methodSaveSaves the project or project item.
Public methodSaveAsSaves the solution, project, or project item.

Every project in the solution has a project automation interface. In rare cases, this is a generic, unmodeled project implementation that returns the project's name.

Every tool in the environment that has a project has a Project object.

Reference this object by using DTE.Solution.Item or by using a specific language's objects, such as DTE.VBProjects.Item, or DTE.VCProjects.Item.


Project-specific objects such as DTE.VBProjects.Item and DTE.VCProjects.Item are located in other assemblies. Visual Basic and Visual C# project objects are located in VSLangProj, and Visual C++ project objects are located in Microsoft.VisualStudio.VCProjectEngine. See Extending Visual Basic and Visual C# Projects and Visual C++ Project Model for more information about programming against project-specific objects.

Sub ProjectExample()
' This function creates a solution and adds a Visual Basic Console
' project to it. 
   Dim soln As Solution2
   Dim proj As Project
   Dim msg As String
' Create a reference to the solution.
   soln = DTE.Solution
' Create a new solution.
   soln.Create("c:\temp2", "MyNewSolution")
' Create a new Visual Basic Console application project. 
' Adjust the save path as needed.
   Dim fileN As String
   fileN = soln.GetProjectTemplate("ConsoleApplication.zip", "VisualBasic")
   proj = soln.AddFromTemplate(fileN, "c:\temp2", "My New Project", True)
' Save the new solution
   msg = "Created new solution: " & soln.FullName
End Sub