Was this page helpful?
Your feedback about this content is important. Let us know what you think.
Additional feedback?
1500 characters remaining
Solution Interface
Collapse the table of content
Expand the table of content

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 : _Solution

The Solution type exposes the following members.

  NameDescription
Public propertyAddInsGets an AddIns collection, which contains all currently available add-ins associated with the solution. (Inherited from _Solution.)
Public propertyCountGets a value indicating the number of objects in the collection. (Inherited from _Solution.)
Public propertyDTEGets the top-level extensibility object. (Inherited from _Solution.)
Public propertyExtenderGets the requested Extender object if it is available for this object. (Inherited from _Solution.)
Public propertyExtenderCATIDGets the Extender category ID (CATID) for the object. (Inherited from _Solution.)
Public propertyExtenderNamesGets a list of available Extenders for the object. (Inherited from _Solution.)
Public propertyFileNameInfrastructure. Microsoft Internal Use Only. (Inherited from _Solution.)
Public propertyFullNameGets the full path and name of the object's file. (Inherited from _Solution.)
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. (Inherited from _Solution.)
Public propertyIsDirtyInfrastructure. Microsoft Internal Use Only. (Inherited from _Solution.)
Public propertyIsOpenDetermines if a solution is open. (Inherited from _Solution.)
Public propertyParentGets the immediate parent object of a _Solution. (Inherited from _Solution.)
Public propertyProjectsGets a collection of the projects currently in the solution. (Inherited from _Solution.)
Public propertyPropertiesGets a collection of all properties that pertain to the _Solution. (Inherited from _Solution.)
Public propertySavedReturns true if the object has not been modified since last being saved or opened. (Inherited from _Solution.)
Public propertySolutionBuildGets the SolutionBuild object for the solution, which represents the root of the build automation model at the solution level. (Inherited from _Solution.)
Public propertyTemplatePathGets the full path and name of the directory that contains templates for the specified type of project. (Inherited from _Solution.)
Top

  NameDescription
Public methodAddFromFileAdds a project to the solution, based on a project file already stored in the system. (Inherited from _Solution.)
Public methodAddFromTemplateCopies 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 methodCloseCloses the current solution. (Inherited from _Solution.)
Public methodCreateCreates an empty solution in the specified directory with the specified name. (Inherited from _Solution.)
Public methodFindProjectItemLocates an item in a project. (Inherited from _Solution.)
Public methodGetEnumeratorReturns an enumeration for items in a collection. (Inherited from _Solution.)
Public methodItemReturns a Project object in a Projects collection. (Inherited from _Solution.)
Public methodOpenOpens the solution in the specified view. (Inherited from _Solution.)
Public methodProjectItemsTemplatePathReturns the location of project item templates for the specified project type. (Inherited from _Solution.)
Public methodRemoveRemoves the specified project from the solution. (Inherited from _Solution.)
Public methodSaveAsSaves the solution. (Inherited from _Solution.)
Top

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.
   soln.SaveAs("c:\temp2\newsolution.sln")
   msg = "Created new solution: " & soln.FullName & vbCrLf
   msg = msg & "Created new project: " & proj.Name
   MsgBox(msg)
End Sub
Show:
© 2015 Microsoft