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 | |
---|---|---|
DTE | Obtiene el objeto de extensibilidad de nivel superior. | |
Hidden | Establece u obtiene el atributo oculto de la solución. | |
Parent | Obtiene el objeto primario inmediato de un objeto Find. |
Arriba
Métodos
Nombre | Descripción | |
---|---|---|
AddFromFile | Agrega un proyecto existente a la carpeta de soluciones. | |
AddFromTemplate | Agrega un nuevo proyecto a la carpeta de soluciones basado en una plantilla de proyecto. | |
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());
}
}