_Solution _Solution _Solution _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.

public interface class _Solution : System::Collections::IEnumerable
public interface _Solution : System.Collections.IEnumerable
type _Solution = interface
    interface IEnumerable
Public Interface _Solution
Implements IEnumerable


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  


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


AddIns AddIns AddIns AddIns

Gets an AddIns collection, which contains all currently available add-ins associated with the solution.

Count Count Count Count

Gets a value indicating the number of objects in the collection.


Gets the top-level extensibility object.

Extender[String] Extender[String] Extender[String] Extender[String]

Gets the requested Extender object if it is available for this object.

ExtenderCATID ExtenderCATID ExtenderCATID ExtenderCATID

Gets the Extender category ID (CATID) for the object.

ExtenderNames ExtenderNames ExtenderNames ExtenderNames

Gets a list of available Extenders for the object.

FileName FileName FileName FileName

Microsoft Internal Use Only.

FullName FullName FullName FullName

Gets the full path and name of the object's file.

Globals Globals Globals 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.

IsDirty IsDirty IsDirty IsDirty

Microsoft Internal Use Only.

IsOpen IsOpen IsOpen IsOpen

Determines if a solution is open.

Parent Parent Parent Parent

Gets the immediate parent object of a _Solution.

Projects Projects Projects Projects

Gets a collection of the projects currently in the solution.

Properties Properties Properties Properties

Gets a collection of all properties that pertain to the _Solution.

Saved Saved Saved Saved

Returns true if the object has not been modified since last being saved or opened.

SolutionBuild SolutionBuild SolutionBuild SolutionBuild

Gets the SolutionBuild object for the solution, which represents the root of the build automation model at the solution level.

TemplatePath[String] TemplatePath[String] TemplatePath[String] TemplatePath[String]

Gets the full path and name of the directory that contains templates for the specified type of project.


AddFromFile(String, Boolean) AddFromFile(String, Boolean) AddFromFile(String, Boolean) AddFromFile(String, Boolean)

Adds a project to the solution, based on a project file already stored in the system.

AddFromTemplate(String, String, String, Boolean) AddFromTemplate(String, String, String, Boolean) AddFromTemplate(String, String, String, Boolean) AddFromTemplate(String, String, String, Boolean)

Copies an existing project file, and any items or subdirectories it contains, to the specified location and adds it to the solution.

Close(Boolean) Close(Boolean) Close(Boolean) Close(Boolean)

Closes the current solution.

Create(String, String) Create(String, String) Create(String, String) Create(String, String)

Creates an empty solution in the specified directory with the specified name.

FindProjectItem(String) FindProjectItem(String) FindProjectItem(String) FindProjectItem(String)

Locates an item in a project.

GetEnumerator() GetEnumerator() GetEnumerator() GetEnumerator()

Returns an enumeration for items in a collection.

Item(Object) Item(Object) Item(Object) Item(Object)

Returns a Project object in a Projects collection.

Open(String) Open(String) Open(String) Open(String)

Opens the solution in the specified view.

ProjectItemsTemplatePath(String) ProjectItemsTemplatePath(String) ProjectItemsTemplatePath(String) ProjectItemsTemplatePath(String)

Returns the location of project item templates for the specified project type.

Remove(Project) Remove(Project) Remove(Project) Remove(Project)

Removes the specified project from the solution.

SaveAs(String) SaveAs(String) SaveAs(String) SaveAs(String)

Saves the solution.

Applies to