Condividi tramite


Interfaccia Solution2

Rappresenta tutti i progetti e le proprietà della soluzione nell'ambiente di sviluppo integrato (IDE).

Spazio dei nomi:  EnvDTE80
Assembly:  EnvDTE80 (in EnvDTE80.dll)

Sintassi

'Dichiarazione
<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")> _
Public Interface Solution2 _
    Inherits _Solution
[GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface Solution2 : _Solution
[GuidAttribute(L"FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")]
public interface class Solution2 : _Solution
[<GuidAttribute("FA238614-FBB1-4314-A7F7-49AE8BB6C6BA")>]
type Solution2 =  
    interface 
        interface _Solution 
    end
public interface Solution2 extends _Solution

Il tipo Solution2 espone i seguenti membri.

Proprietà

  Nome Descrizione
Proprietà pubblica AddIns Ottiene una raccolta AddIns contenente tutti i componenti aggiuntivi disponibili associati alla soluzione.
Proprietà pubblica Count Ottiene un valore che indica il numero di progetti nella soluzione.
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica Extender Ottiene l'oggetto Extender richiesto, se disponibile per l'oggetto.
Proprietà pubblica ExtenderCATID Ottiene l'ID della categoria Extender (CATID) relativo all'oggetto.
Proprietà pubblica ExtenderNames Ottiene un elenco degli Extender disponibili per l'oggetto.
Proprietà pubblica FileName Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica FullName Ottiene il percorso completo e il nome del file dell'oggetto.
Proprietà pubblica Globals Ottiene l'oggetto Globals contenente qualsiasi valore variabile che possa essere salvato nel file di soluzione (SLN), nel file di progetto o nei dati del profilo dell'utente.
Proprietà pubblica IsDirty Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica IsOpen Ottiene un valore che indica se una soluzione è aperta.
Proprietà pubblica Parent Ottiene l'oggetto padre diretto di un oggetto Solution2.
Proprietà pubblica Projects Ottiene una raccolta dei progetti presenti nella soluzione.
Proprietà pubblica Properties Ottiene una raccolta di tutte le proprietà relative all'oggetto Solution2.
Proprietà pubblica Saved Ottiene o imposta un valore che indica se una soluzione non è stata modificata dopo l'ultima volta che è stata salvata o aperta.
Proprietà pubblica SolutionBuild Ottiene l'oggetto SolutionBuild per la soluzione, ovvero l'oggetto radice del modello di automazione della compilazione a livello di soluzione.
Proprietà pubblica TemplatePath Sostituito da GetProjectTemplate.

In alto

Metodi

  Nome Descrizione
Metodo pubblico AddFromFile Aggiunge un progetto alla soluzione basato su un file di progetto già archiviato nel sistema.
Metodo pubblico AddFromTemplate Copia nella posizione specificata un file di progetto esistente e tutti gli elementi o le sottodirectory in esso contenuti e aggiunge il file alla soluzione.
Metodo pubblico AddSolutionFolder Aggiunge una cartella della soluzione a una raccolta ProjectItems.
Metodo pubblico Close Chiude la soluzione corrente.
Metodo pubblico Create Crea una soluzione vuota nella directory specificata con il nome indicato.
Metodo pubblico FindProjectItem Trova un elemento in un progetto.
Metodo pubblico GetEnumerator Restituisce un'enumerazione per gli elementi di una raccolta.
Metodo pubblico GetProjectItemTemplate Restituisce un percorso del modello dell'elemento del progetto indicato.
Metodo pubblico GetProjectTemplate Restituisce un percorso del modello del progetto indicato.Se un modello dispone di un elemento di RequiredFrameworkVersion primo 4,0, è necessario fornire la versione nella chiamata in modo che la ricerca del modello trovare una corrispondenza.Ad esempio, anziché chiamare GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp"); chiamata GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.
Metodo pubblico Item Restituisce un membro indicizzato di una raccolta Projects.
Metodo pubblico Open Apre una soluzione specificata.
Metodo pubblico ProjectItemsTemplatePath Sostituito da GetProjectItemTemplate.
Metodo pubblico Remove Rimuove il progetto specificato dalla soluzione.
Metodo pubblico SaveAs Salva la soluzione.

In alto

Note

L'interfaccia contiene una raccolta di tutti i progetti nell'istanza corrente dell'IDE e di tutte le proprietà della soluzione quali le configurazioni delle build. Contiene un elemento progetto per ogni progetto, sia che si tratti di un progetto di cui è stato eseguito il wrapping, di un sottoprogetto o di un progetto di primo livello.

È possibile trovare la soluzione aperta utilizzando la proprietà DTE.Solution. Per fare riferimento a progetti virtuali quali MiscFiles o SolutionItems, utilizzare Solution.Item(EnvDTE.Constants.vsProjectKindMisc o Solution.Item(EnvDTE.Constants.vsProjectKindSolutionItems.

Esempi

Per informazioni sulla modalità di esecuzione di questo codice di componente aggiuntivo, vedere Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione.

Nel codice seguente viene creata una nuova soluzione per l'applicazione console nel percorso specificato.

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)
    SolutionExample(_applicationObject)
End Sub

Sub SolutionExample(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual Basic Console
    ' project to it.
    Try
        Dim soln As Solution2 = CType(DTE.Solution, Solution2)
        Dim vbTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim vbPrjPath As String = <file path>
        MsgBox("starting")
        ' Get the project template path for a Visual Basic console application project.
        vbTemplatePath = soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "VisualBasic")
        ' Create a new Visual Baic Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(vbTemplatePath, vbPrjPath, _
        "New Visual Basic Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
//you will need to add this reference to your project as well
using System.Windows.Forms;  

public void OnConnection(object application,
 Extensibility.ext_ConnectMode connectMode, object addInInst,
 ref System.Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    // Pass the applicationObject member variable to the code example.
    SolutionExample((DTE2)_applicationObject);
}

public void SolutionExample(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution2 soln = (Solution2)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = <file path>;
    MessageBox.Show("Starting...");
csTemplatePath = 
soln.GetProjectTemplate("ConsoleApplication.zip", "CSharp");
        // Create a new C# Console project using the template obtained 
        // above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath,
 "New CSharp Console Project", false);
        MessageBox.Show("Done!");
    }
    catch(SystemException ex)
    {
        MessageBox.Show("ERROR: " + ex);
    }
}

Vedere anche

Riferimenti

Spazio dei nomi EnvDTE80