This documentation is archived and is not being maintained.

_Solution Interface

Represents all projects and solution-wide properties in the integrated development environment (IDE). Refer to Solution for this functionality. Do not instantiate from this class.

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

public interface class _Solution : IEnumerable

The _Solution type exposes the following members.

Public propertyAddInsGets an AddIns collection, which contains all currently available add-ins associated with the solution.
Public propertyCountGets a value indicating the number of objects in the collection.
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 object's file.
Public propertyGlobalsGets the Globals that contains 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 propertyIsOpenDetermines if a solution is open.
Public propertyParentGets the immediate parent object of a _Solution.
Public propertyProjectsGets a collection of the projects currently in the solution.
Public propertyPropertiesGets a collection of all properties that pertain to the _Solution.
Public propertySavedReturns true if the object has not been modified since last being saved or opened.
Public propertySolutionBuildGets the SolutionBuild object for the solution, which represents the root of the build automation model at the solution level.
Public propertyTemplatePathGets the full path and name of the directory that contains templates for the specified type of project.

Public methodAddFromFileAdds a project to the solution, based on a project file already stored in the system.
Public methodAddFromTemplateCopies an existing project file, and any items or subdirectories it contains, to the specified location and adds it to the solution.
Public methodCloseCloses the current solution.
Public methodCreateCreates an empty solution in the specified directory with the specified name.
Public methodFindProjectItemLocates an item in a project.
Public methodGetEnumeratorReturns an enumeration for items in a collection.
Public methodItemReturns a Project object in a Projects collection.
Public methodOpenOpens the solution in the specified view.
Public methodProjectItemsTemplatePathReturns the location of project item templates for the specified project type.
Public methodRemoveRemoves the specified project from the solution.
Public methodSaveAsSaves the solution.

The Solution object is a collection of all the projects in the current instance of the IDE and all solution-wide properties such as build configurations. The Solution object contains a project element for every project, whether it is a wrapped project, a subproject, or a top-level project.

Reference this object using DTE.Solution. To refer to virtual projects such as MiscFiles or SolutionItems, use Solution.Item(EnvDTE.Constants.vsProjectKindMisc) or Solution.Item(EnvDTE.Constants.vsProjectKindSolutionItems).

Sub SolutionExample()
   'This function creates a solution and adds a Visual Basic Console
   'project to it. 
   Dim soln As Solution
   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 VB project from a template. 
   ' Adjust the template path and save path as needed.
   proj = soln.AddFromTemplate("<template path>\ConsoleApplication.vbproj", "c:\temp2", "My New Project", True)
   ' Save the new solution and project.
   msg = "Created new solution: " & soln.FullName & vbCrLf
   msg = msg & "Created new project: " & proj.Name
End Sub