_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)


<GuidAttribute("26F6CC4B-7A48-4E4D-8AF5-9E960232E05F")> _
Public Interface _Solution _
    Inherits IEnumerable
public interface _Solution : IEnumerable
public interface class _Solution : IEnumerable
type _Solution =  
        interface IEnumerable
public interface _Solution extends IEnumerable

The _Solution type exposes the following members.


  Name Description
Public property AddIns Gets an AddIns collection, which contains all currently available add-ins associated with the solution.
Public property Count Gets a value indicating the number of objects in the collection.
Public property DTE Gets the top-level extensibility object.
Public property Extender Gets the requested Extender object if it is available for this object.
Public property ExtenderCATID Gets the Extender category ID (CATID) for the object.
Public property ExtenderNames Gets a list of available Extenders for the object.
Public property FileName Infrastructure. Microsoft Internal Use Only.
Public property FullName Gets the full path and name of the object's file.
Public property Globals Gets 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 property IsDirty Infrastructure. Microsoft Internal Use Only.
Public property IsOpen Determines if a solution is open.
Public property Parent Gets the immediate parent object of a _Solution.
Public property Projects Gets a collection of the projects currently in the solution.
Public property Properties Gets a collection of all properties that pertain to the _Solution.
Public property Saved Returns true if the object has not been modified since last being saved or opened.
Public property SolutionBuild Gets the SolutionBuild object for the solution, which represents the root of the build automation model at the solution level.
Public property TemplatePath Gets the full path and name of the directory that contains templates for the specified type of project.



  Name Description
Public method AddFromFile Adds a project to the solution, based on a project file already stored in the system.
Public method AddFromTemplate Copies an existing project file, and any items or subdirectories it contains, to the specified location and adds it to the solution.
Public method Close Closes the current solution.
Public method Create Creates an empty solution in the specified directory with the specified name.
Public method FindProjectItem Locates an item in a project.
Public method GetEnumerator Returns an enumeration for items in a collection.
Public method Item Returns a Project object in a Projects collection.
Public method Open Opens the solution in the specified view.
Public method ProjectItemsTemplatePath Returns the location of project item templates for the specified project type.
Public method Remove Removes the specified project from the solution.
Public method SaveAs Saves 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

See Also


EnvDTE Namespace