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 (Ereditato da _Solution)
Proprietà pubblica AddIns Ottiene un insieme AddIns contenente tutti i componenti aggiuntivi disponibili associati alla soluzione.
Proprietà pubblica Count (Ereditato da _Solution)
Proprietà pubblica Count Ottiene un valore che indica il numero di progetti nella soluzione.
Proprietà pubblica DTE (Ereditato da _Solution)
Proprietà pubblica DTE Ottiene l'oggetto estensibilità di primo livello.
Proprietà pubblica Extender[String] (Ereditato da _Solution)
Proprietà pubblica Extender[String] Ottiene l'oggetto Extender richiesto, se disponibile per l'oggetto.
Proprietà pubblica ExtenderCATID (Ereditato da _Solution)
Proprietà pubblica ExtenderCATID Ottiene l'ID della categoria (CATID) dell'oggetto Extender.
Proprietà pubblica ExtenderNames (Ereditato da _Solution)
Proprietà pubblica ExtenderNames Ottiene un elenco degli oggetti Extender disponibili per l'oggetto.
Proprietà pubblica FileName (Ereditato da _Solution)
Proprietà pubblica FileName Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica FullName (Ereditato da _Solution)
Proprietà pubblica FullName Ottiene il percorso completo e il nome del file dell'oggetto.
Proprietà pubblica Globals (Ereditato da _Solution)
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 (Ereditato da _Solution)
Proprietà pubblica IsDirty Infrastruttura. Solo per utilizzo interno di Microsoft.
Proprietà pubblica IsOpen (Ereditato da _Solution)
Proprietà pubblica IsOpen Ottiene un valore che indica se una soluzione è aperta.
Proprietà pubblica Parent (Ereditato da _Solution)
Proprietà pubblica Parent Ottiene l'oggetto padre diretto di un oggetto Solution2.
Proprietà pubblica Projects (Ereditato da _Solution)
Proprietà pubblica Projects Ottiene un insieme dei progetti presenti della soluzione.
Proprietà pubblica Properties (Ereditato da _Solution)
Proprietà pubblica Properties Ottiene un insieme di tutte le proprietà relative all'oggetto Solution2.
Proprietà pubblica Saved (Ereditato da _Solution)
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 (Ereditato da _Solution)
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[String] (Ereditato da _Solution)
Proprietà pubblica TemplatePath[String] Sostituito da GetProjectTemplate.

In alto

Metodi

  Nome Descrizione
Metodo pubblico AddFromFile(String, Boolean) (Ereditato da _Solution)
Metodo pubblico AddFromFile(String, Boolean) Aggiunge un progetto alla soluzione basato su un file di progetto già archiviato nel sistema.
Metodo pubblico AddFromTemplate(String, String, String, Boolean) (Ereditato da _Solution)
Metodo pubblico AddFromTemplate(String, String, String, Boolean) 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 un insieme ProjectItems.
Metodo pubblico Close(Boolean) (Ereditato da _Solution)
Metodo pubblico Close(Boolean) Chiude la soluzione corrente.
Metodo pubblico Create(String, String) (Ereditato da _Solution)
Metodo pubblico Create(String, String) Crea una soluzione vuota nella directory specificata con il nome indicato.
Metodo pubblico FindProjectItem(String) (Ereditato da _Solution)
Metodo pubblico FindProjectItem(String) Trova un elemento in un progetto.
Metodo pubblico GetEnumerator() (Ereditato da _Solution)
Metodo pubblico GetEnumerator() Restituisce un'enumerazione per gli elementi di un insieme.
Metodo pubblico GetProjectItemTemplate Restituisce un percorso del modello dell'elemento del progetto indicato.
Metodo pubblico GetProjectTemplate Restituisce un percorso del modello del progetto indicato.
Metodo pubblico Item(Object) (Ereditato da _Solution)
Metodo pubblico Item(Object) Restituisce un membro indicizzato di un insieme Projects.
Metodo pubblico Open(String) (Ereditato da _Solution)
Metodo pubblico Open(String) Apre una soluzione specificata.
Metodo pubblico ProjectItemsTemplatePath(String) (Ereditato da _Solution)
Metodo pubblico ProjectItemsTemplatePath(String) Sostituito da GetProjectItemTemplate.
Metodo pubblico Remove(Project) (Ereditato da _Solution)
Metodo pubblico Remove(Project) Rimuove il progetto specificato dalla soluzione.
Metodo pubblico SaveAs(String) (Ereditato da _Solution)
Metodo pubblico SaveAs(String) Salva la soluzione.

In alto

Note

L'interfaccia contiene un insieme 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