This documentation is archived and is not being maintained.

SolutionFolder Interface 

Solution folders are project containers that allow developers to better organize large applications.

Namespace: EnvDTE80
Assembly: EnvDTE80 (in envdte80.dll)

[GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")] 
public interface SolutionFolder
/** @attribute GuidAttribute("F8F69788-267C-4408-8967-74F26108C438") */ 
public interface SolutionFolder
GuidAttribute("F8F69788-267C-4408-8967-74F26108C438") 
public interface SolutionFolder

In Visual Studio 2005, solutions can contain solution folders in addition to project folders. Solution folders are project containers that allow developers to better organize large applications.

The solution's Projects property returns a collection of Project objects. Each individual Project has a Kind property which can be set to vsProjectKindSolutionFolder. To get to the SolutionFolder interface, call Project.Object, and then cast the object returned to a SolutionFolder type.

This example creates a new solution folder and adds a project to it from an existing file. Before running this example, create a "Projects" folder off your main drive ("C:" in this example), and create a Visual C# class library project, named "ClassLibrary1" in that folder. You must also open a project in the Visual Studio integrated development environment (IDE) before running this add-in.

For more information about how to run this example as an add-in, see How to: Compile and Run the Automation Object Model Code Examples.

using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    solnFolderAddFromFileExample(_applicationObject);
}
public void solnFolderAddFromFileExample(DTE2 dte)
{
    // Before running this example, create a "Projects" folder
    // off your main drive (C: in this example), and create a C# 
    // class library project, named ClassLibrary1 in that folder.
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    SolutionFolder SF;
    try
    {
        String prjPath =
 "C:\\Projects\\ClassLibrary1\\ClassLibrary1\\ClassLibrary1.csproj";
        // Open a project in the Visual Studio IDE before running 
        // this add-in.
        // Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder");
        SF = (SolutionFolder)prj.Object;
        // Add a project to the new solution folder.
        SF.AddFromFile(prjPath);
    MessageBox.Show("Added a new solution folder that contains a 
C# project named ClassLibrary1.");
    }
    catch(SystemException ex)
    {
        MessageBox.Show(ex.ToString());
    }
}
Show: