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
Proprietà pubblica DTE Ottiene l'oggetto di estensibilità di primo livello.
Proprietà pubblica Hidden Imposta o ottiene l'attributo nascosto della soluzione.
Proprietà pubblica Parent Ottiene l'oggetto padre immediato di un oggetto Find.

In alto

Metodi

  Nome Descrizione
Metodo pubblico AddFromFile Aggiunge un progetto esistente alla cartella della soluzione.
Metodo pubblico AddFromTemplate Aggiunge un nuovo progetto alla cartella della soluzione in base a un modello di progetto.
Metodo pubblico AddSolutionFolder Aggiunge una cartella della soluzione a un insieme 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 un insieme 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());
    }
}

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE80