SolutionFolder.AddSolutionFolder (Método)
Agrega una carpeta de soluciones a una colección ProjectItems.
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
Function AddSolutionFolder ( _
Name As String _
) As Project
Project AddSolutionFolder(
string Name
)
Project^ AddSolutionFolder(
String^ Name
)
abstract AddSolutionFolder :
Name:string -> Project
function AddSolutionFolder(
Name : String
) : Project
Parámetros
- Name
Tipo: System.String
Nombre de la carpeta de soluciones.
Valor devuelto
Tipo: EnvDTE.Project
Objeto Project.
Comentarios
AddSolutionFolder devuelve un objeto Project que puede convertirse a un objeto SolutionFolder o utilizarlo como interfaz para realizar consultas (QI).
Ejemplos
En este ejemplo se crea una nueva carpeta de soluciones y se le agrega un proyecto de un archivo existente. También se agrega una nueva carpeta de soluciones anidada a la primera mediante el método AddSolutionFolder. Antes de ejecutar este ejemplo, cree una carpeta "Projects" en la unidad principal ("C:" en este ejemplo), y genere un proyecto de bibliotecas de clase de Visual C#, denominado "ClassLibrary1" en dicha carpeta. Abra 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)
solnFolderAddSolutionFolderExample(_applicationObject)
End Sub
Sub solnFolderAddSolutionFolderExample(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 sb As New System.Text.StringBuilder
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.")
SF.AddSolutionFolder("New solnFolder2")
MsgBox("Added a new solution folder, called 'New solnFolder2'.")
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;
solnFolderAddSolutionFolderExample(_applicationObject);
}
public void solnFolderAddSolutionFolderExample(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;
System.Text.StringBuilder sb = new System.Text.StringBuilder();
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.");
SF.AddSolutionFolder("New solnFolder2");
MessageBox.Show("Added a new solution folder,
called 'New solnFolder2'.");
}
catch(SystemException ex)
{
MessageBox.Show(ex.ToString());
}
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.