Freigeben über


Solution3-Schnittstelle

Stellt alle Projekte und projektmappenweiten Eigenschaften in der integrierten Entwicklungsumgebung (IDE) dar. Hat Vorrang vor Solution und Solution2.

Namespace:  EnvDTE90
Assembly:  EnvDTE90 (in EnvDTE90.dll)

Syntax

'Declaration
<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")> _
Public Interface Solution3 _
    Inherits Solution2
[GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface Solution3 : Solution2
[GuidAttribute(L"DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")]
public interface class Solution3 : Solution2
[<GuidAttribute("DF23915F-FDA3-4DD5-9CAA-2E1372C2BB16")>]
type Solution3 =  
    interface 
        interface Solution2 
    end
public interface Solution3 extends Solution2

Der Solution3-Typ macht die folgenden Member verfügbar.

Eigenschaften

  Name Beschreibung
Öffentliche Eigenschaft AddIns Ruft eine AddIns-Auflistung mit allen derzeit verfügbaren Add-Ins ab, die der Projektmappe zugeordnet sind.
Öffentliche Eigenschaft Count Ruft einen Wert ab, der die Anzahl der in der Projektmappe enthaltenen Objekte angibt.
Öffentliche Eigenschaft DTE Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.
Öffentliche Eigenschaft Extender Ruft das angeforderte Extenderobjekt ab, falls es für dieses Objekt verfügbar ist.
Öffentliche Eigenschaft ExtenderCATID Ruft die ID der Extenderkategorie (CATID) für das Objekt ab.
Öffentliche Eigenschaft ExtenderNames Ruft eine Liste der für das Objekt verfügbaren Extender ab.
Öffentliche Eigenschaft FileName Infrastruktur. Ruft den Namen der Datei ab.
Öffentliche Eigenschaft FullName Ruft den vollständigen Pfad und Namen der Objektdatei ab.
Öffentliche Eigenschaft Globals Ruft das Globals-Objekt mit den Variablenwerten ab, die in der Projektmappendatei (.sln), in der Projektdatei oder in den Profildaten des Benutzers gespeichert werden können.
Öffentliche Eigenschaft IsDirty Infrastruktur. Ermittelt, ob für die Projektmappe nicht gespeicherte Änderungen vorhanden sind.
Öffentliche Eigenschaft IsOpen Ruft ab, ob eine Projektmappe geöffnet ist.
Öffentliche Eigenschaft Parent Ruft das unmittelbar übergeordnete Objekt eines Solution2-Objekts ab.
Öffentliche Eigenschaft Projects Ruft eine Auflistung aller Projekte ab, die sich derzeit in der Projektmappe befinden.
Öffentliche Eigenschaft Properties Ruft eine Auflistung aller Eigenschaften des Solution2-Objekts ab.
Öffentliche Eigenschaft Saved Ruft einen Wert ab, der angibt, ob eine Projektmappe seit dem letzten Speichern oder Öffnen nicht geändert wurde, oder legt diesen Wert fest.
Öffentliche Eigenschaft SolutionBuild Ruft das SolutionBuild-Objekt für die Projektmappe ab, das den Stamm des Buildautomatisierungsmodells auf Projektmappenebene darstellt.
Öffentliche Eigenschaft TemplatePath Ersetzt durch GetProjectTemplate.

Zum Seitenanfang

Methoden

  Name Beschreibung
Öffentliche Methode AddFromFile Fügt basierend auf einer bereits im System gespeicherten Projektdatei ein Projekt zur Projektmappe hinzu.
Öffentliche Methode AddFromTemplate Kopiert eine vorhandene Projektdatei sowie alle darin enthaltenen Elemente oder Unterverzeichnisse in den angegebenen Pfad und fügt sie zur Projektmappe hinzu.
Öffentliche Methode AddSolutionFolder Fügt einen Projektmappenordner einer ProjectItems-Auflistung hinzu.
Öffentliche Methode Close Schließt die aktuelle Projektmappe.
Öffentliche Methode Create Erstellt eine leere Projektmappemit dem angegebenen Namen im angegebenen Verzeichnis.
Öffentliche Methode FindProjectItem Sucht ein Element in einem Projekt.
Öffentliche Methode GetEnumerator Gibt eine Enumeration für Elemente in einer Auflistung zurück.
Öffentliche Methode GetProjectItemTemplate Gibt einen Pfad zur angegebenen Projektelementvorlage zurück.
Öffentliche Methode GetProjectItemTemplates Gibt eine Auflistung von Projektelementvorlagen für das angegebene Projekt zurück.
Öffentliche Methode GetProjectTemplate Gibt einen Pfad zur angegebenen Projektvorlage zurück.Wenn eine Vorlage ein RequiredFrameworkVersions-Element höher als 4,0 ist, können Sie die Version im Aufruf bereitstellen, damit die Suche für die Vorlage eine Übereinstimmung findet.Anstatt, GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip", "CSharp") aufzurufen; Aufruf GetProjectTemplate("Extensibility\\1033\\VSIXProject.zip|FrameworkVersion=4.5", "CSharp");.
Öffentliche Methode Item Gibt einen indizierten Member einer Projects-Auflistung zurück.
Öffentliche Methode Open Öffnet eine angegebene Projektmappe.
Öffentliche Methode ProjectItemsTemplatePath Ersetzt durch GetProjectItemTemplate.
Öffentliche Methode Remove Entfernt das angegebene Projekt aus der Projektmappe.
Öffentliche Methode SaveAs Speichert die Projektmappe.

Zum Seitenanfang

Hinweise

Das Solution3-Objekt ist eine Auflistung aller Projekte in der aktuellen Instanz der IDE und aller projektmappenweiten Eigenschaften, z. B. Buildkonfigurationen. Das Solution3-Objekt enthält unabhängig davon, ob es sich um ein umschlossenes Projekt, ein Unterprojekt oder ein Projekt auf oberster Ebene handelt, für jedes Projekt ein Projektelement.

Auf dieses Objekt können Sie mit DTE.Solution verweisen. Verwenden Sie Solution3.Item(EnvDTE.Constants.vsProjectKindMisc) oder Solution3.Item(EnvDTE.Constants.vsProjectKindSolutionItems), um auf virtuelle Projekte wie MiscFiles oder SolutionItems zu verweisen.

Beispiele

Informationen zum Ausführen des Add-In-Codes finden Sie unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.

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

Sub Solution3Example(ByVal dte As DTE2)
    ' This function creates a solution and adds a Visual C# Console
    ' project to it.
    Try
        Dim soln As Solution3 = CType(DTE.Solution, Solution3)
        Dim csTemplatePath As String
        ' This path must exist on your computer.
        ' Replace <file path> below with an actual path.
        Dim csPrjPath As String = "<file path>"
        MsgBox("starting")
        ' Get the project template path for a C# console project.
        csTemplatePath = CType(soln.GetProjectTemplate _
        ("ConsoleApplication.zip", "CSharp"), string)
        ' Create a new C# Console project using the template obtained 
        ' above.
        soln.AddFromTemplate(csTemplatePath, csPrjPath, _
        "New CSharp Console Project", False)
        MsgBox("done")
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
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.
    Solution3Example((DTE2)_applicationObject);
}

public void Solution3Example(DTE2 dte)
{
    // This function creates a solution and adds a Visual C# Console
    // project to it.
    try{
        Solution3 soln = (Solution3)_applicationObject.Solution;
        String csTemplatePath;
        // The file path must exist on your computer.
        // Replace <file path> below with an actual path.
        String csPrjPath = "<file path>";
        "<file path>MessageBox.Show("Starting...");
        "<file path>"<file path>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);
    }
}

Siehe auch

Referenz

EnvDTE90-Namespace