Solution Interface

Represents all projects and solution-wide properties in the integrated development environment (IDE). Use this object for functionality and refer to _Solution for documentation.

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


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

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



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


This example works only in Visual Studio .NET 2003. For more information, see Migrating Code that Creates Projects by Using Templates.

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 Visual Basic Console application project.
   ' Adjust the save path as needed.
   proj = soln.AddFromTemplate("D:\Program Files\Microsoft Visual Studio .NET\Vb7\VBWizards\ConsoleApplication\Templates\1033\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