Interfaccia SolutionFolder
Le cartelle della soluzione sono contenitori di progetto mediante le quali gli sviluppatori possono organizzare meglio le applicazioni di grandi dimensioni.
Spazio dei nomi: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Sintassi
'Dichiarazione
<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
Il tipo SolutionFolder espone i seguenti membri.
Proprietà
Nome | Descrizione | |
---|---|---|
DTE | Ottiene l'oggetto estensibilità di primo livello. | |
Hidden | Imposta o ottiene l'attributo nascosto della soluzione. | |
Parent | Ottiene l'oggetto padre immediato di un oggetto Find. |
In alto
Metodi
Nome | Descrizione | |
---|---|---|
AddFromFile | Aggiunge un progetto esistente alla cartella della soluzione. | |
AddFromTemplate | Aggiunge un nuovo progetto alla cartella della soluzione in base a un modello di progetto. | |
AddSolutionFolder | Aggiunge una cartella della soluzione a una raccolta ProjectItems. |
In alto
Note
In Visual Studio 2005, le soluzioni possono contenere cartelle della soluzione oltre alle cartelle di progetto. Le cartelle della soluzione sono contenitori di progetto mediante le quali gli sviluppatori possono organizzare meglio le applicazioni di grandi dimensioni.
La proprietà Projects della soluzione restituisce una raccolta di oggetti Project. Ogni singolo oggetto Project dispone di una proprietà Kind che può essere impostata su vsProjectKindSolutionFolder. Per ottenere l'interfaccia SolutionFolder, chiamare Project.Object, quindi eseguire il cast dell'oggetto restituito a un tipo SolutionFolder.
Esempi
In questo esempio viene creata una nuova cartella della soluzione a cui viene aggiunto un progetto da un file esistente. 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". Inoltre, è necessario aprire un progetto nell'ambiente di sviluppo integrato (IDE) 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)
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());
}
}