Compartir a través de


SolutionFolder (Interfaz)

Las carpetas de soluciones son contenedores de proyectos que permiten a los desarrolladores organizar mejor las aplicaciones grandes.

Espacio de nombres:  EnvDTE80
Ensamblado:  EnvDTE80 (en EnvDTE80.dll)

Sintaxis

'Declaración
<GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")> _
Public Interface SolutionFolder
[GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")]
public interface SolutionFolder
[GuidAttribute(L"F8F69788-267C-4408-8967-74F26108C438")]
public interface class SolutionFolder
[<GuidAttribute("F8F69788-267C-4408-8967-74F26108C438")>]
type SolutionFolder =  interface end
public interface SolutionFolder

El tipo SolutionFolder expone los siguientes miembros.

Propiedades

  Nombre Descripción
Propiedad pública DTE Obtiene el objeto de extensibilidad de nivel superior.
Propiedad pública Hidden Establece u obtiene el atributo oculto de la solución.
Propiedad pública Parent Obtiene el objeto primario inmediato de un objeto Find.

Arriba

Métodos

  Nombre Descripción
Método público AddFromFile Agrega un proyecto existente a la carpeta de soluciones.
Método público AddFromTemplate Agrega un nuevo proyecto a la carpeta de soluciones basado en una plantilla de proyecto.
Método público AddSolutionFolder Agrega una carpeta de soluciones a una colección ProjectItems.

Arriba

Comentarios

En Visual Studio 2005, las soluciones pueden contener carpetas de soluciones además de carpetas de proyectos. Las carpetas de soluciones son contenedores de proyectos que permiten a los desarrolladores organizar mejor las aplicaciones grandes.

La propiedad Projects de la solución devuelve una colección de objetos Project. Cada uno de estos objetos tiene una propiedad Kind que se puede establecer en vsProjectKindSolutionFolder. Para llegar a la interfaz SolutionFolder, llame a Project.Object y, a continuación, convierta el objeto devuelto a un tipo SolutionFolder.

Ejemplos

En este ejemplo se crea una nueva carpeta de soluciones y se le agrega un proyecto de un archivo existente. Antes de ejecutar este ejemplo, cree una carpeta "Projects" en la unidad principal ("C:" en este ejemplo), y cree un proyecto de bibliotecas de clases de Visual C#, denominado "ClassLibrary1" en dicha carpeta. También debe abrir un proyecto en el entorno de desarrollo integrado (IDE) de Visual Studio antes de ejecutar este complemento.

Para obtener más información sobre cómo ejecutar este ejemplo como un complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    solnFolderAddFromFileExample(_applicationObject)
End Sub
Sub solnFolderAddFromFileExample(ByVal dte As DTE2)
    ' 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.
    Dim soln As Solution2 = CType(_applicationObject.Solution _
    , Solution2)
    Dim prj As Project
    Dim SF As SolutionFolder
    Try
        Dim prjPath As String = _
        "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 = CType(prj.Object, SolutionFolder)
        ' Add a project to the new solution folder.
        SF.AddFromFile(prjPath)
        MsgBox("Added a new solution folder that contains a _
        C# project named ClassLibrary1.")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
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());
    }
}

Vea también

Referencia

EnvDTE80 (Espacio de nombres)