Metodo SolutionFolder.AddSolutionFolder
Aggiunge una cartella della soluzione a un insieme ProjectItems.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
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
Parametri
- Name
Tipo: System.String
Nome della cartella della soluzione.
Valore restituito
Tipo: EnvDTE.Project
Un oggetto Project.
Note
Il metodo AddSolutionFolder restituisce un oggetto Project di cui è possibile eseguire il cast o il QI (Query Interface) a un oggetto SolutionFolder.
Esempi
In questo esempio viene creata una nuova cartella della soluzione a cui viene aggiunto un progetto da un file esistente. Mediante il metodo AddSolutionFolder viene aggiunta anche una nuova cartella della soluzione annidata nella prima. Prima di eseguire questo esempio, creare una cartella "Projects" nell'unità principale (in questo caso C:) e creare al suo interno un progetto di libreria di classi Visual C# denominato "ClassLibrary1". Aprire inoltre un progetto nell'ambiente di sviluppo integrato (IDE) di Visual Studio.
Per ulteriori informazioni sulla modalità di esecuzione di questo esempio come componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.
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());
}
}
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.