Solution4-Schnittstelle
Stellt alle Projekte und projektmappenweiten Eigenschaften in der integrierten Entwicklungsumgebung (IDE) dar. Hat Vorrang vor Solution, Solution2 und Solution3.
Namespace: EnvDTE100
Assembly: EnvDTE100 (in EnvDTE100.dll)
Syntax
'Declaration
<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")> _
Public Interface Solution4 _
Inherits Solution3
[GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface Solution4 : Solution3
[GuidAttribute(L"CDA7305C-78B6-4D9D-90AD-93EBE71F9341")]
public interface class Solution4 : Solution3
[<GuidAttribute("CDA7305C-78B6-4D9D-90AD-93EBE71F9341")>]
type Solution4 =
interface
interface Solution3
end
public interface Solution4 extends Solution3
Der Solution4-Typ macht die folgenden Member verfügbar.
Eigenschaften
Name | Beschreibung | |
---|---|---|
AddIns | Ruft eine AddIns-Auflistung mit allen derzeit verfügbaren Add-Ins ab, die der Projektmappe zugeordnet sind. | |
Count | Ruft einen Wert ab, der die Anzahl der in der Projektmappe enthaltenen Objekte angibt. | |
DTE | Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab. | |
Extender | Ruft das angeforderte Extenderobjekt ab, falls es für dieses Objekt verfügbar ist. | |
ExtenderCATID | Ruft die ID der Extenderkategorie (CATID) für das Objekt ab. | |
ExtenderNames | Ruft eine Liste der für das Objekt verfügbaren Extender ab. | |
FileName | Infrastruktur. Ruft den Namen der Datei ab. | |
FullName | Ruft den vollständigen Pfad und Namen der Objektdatei ab. | |
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. | |
IsDirty | Infrastruktur. Ermittelt, ob für die Projektmappe nicht gespeicherte Änderungen vorhanden sind. | |
IsOpen | Ruft ab, ob eine Projektmappe geöffnet ist. | |
Parent | Ruft das unmittelbar übergeordnete Objekt eines Solution2-Objekts ab. | |
Projects | Ruft eine Auflistung aller Projekte ab, die sich derzeit in der Projektmappe befinden. | |
Properties | Ruft eine Auflistung aller Eigenschaften des Solution2-Objekts ab. | |
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. | |
SolutionBuild | Ruft das SolutionBuild-Objekt für die Projektmappe ab, das den Stamm des Buildautomatisierungsmodells auf Projektmappenebene darstellt. | |
TemplatePath | Ersetzt durch GetProjectTemplate. |
Zum Seitenanfang
Methoden
Name | Beschreibung | |
---|---|---|
AddFromFile | Fügt basierend auf einer bereits im System gespeicherten Projektdatei ein Projekt zur Projektmappe hinzu. | |
AddFromTemplate | Kopiert eine vorhandene Projektdatei sowie alle darin enthaltenen Elemente oder Unterverzeichnisse in den angegebenen Pfad und fügt sie zur Projektmappe hinzu. | |
AddFromTemplateEx | Kopiert eine vorhandene Projektdatei sowie alle darin enthaltenen Elemente oder Unterverzeichnisse in den angegebenen Pfad und fügt sie zur Projektmappe hinzu. | |
AddSolutionFolder | Fügt einen Projektmappenordner einer ProjectItems-Auflistung hinzu. | |
Close | Schließt die aktuelle Projektmappe. | |
Create | Erstellt eine leere Projektmappemit dem angegebenen Namen im angegebenen Verzeichnis. | |
FindProjectItem | Sucht ein Element in einem Projekt. | |
GetEnumerator | Gibt eine Enumeration für Elemente in einer Auflistung zurück. | |
GetProjectItemTemplate | Gibt einen Pfad zur angegebenen Projektelementvorlage zurück. | |
GetProjectItemTemplates | Gibt eine Auflistung von Projektelementvorlagen für das angegebene Projekt zurück. | |
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");. | |
Item | Gibt einen indizierten Member einer Projects-Auflistung zurück. | |
Open | Öffnet eine angegebene Projektmappe. | |
ProjectItemsTemplatePath | Ersetzt durch GetProjectItemTemplate. | |
Remove | Entfernt das angegebene Projekt aus der Projektmappe. | |
SaveAs | Speichert die Projektmappe. |
Zum Seitenanfang
Hinweise
Das Solution4-Objekt ist eine Auflistung aller Projekte in der aktuellen Instanz der IDE und aller projektmappenweiten Eigenschaften, z. B. Buildkonfigurationen. Das Solution4-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 Solution4.Item(EnvDTE.Constants.vsProjectKindMisc) oder Solution4.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)
Solution4Example(_applicationObject)
End Sub
Sub Solution4Example(ByVal dte As DTE2)
' This function creates a solution and adds a Visual C# Console
' project to it.
Try
Dim soln As Solution4 = CType(DTE.Solution, Solution4)
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.
Solution4Example((DTE2)_applicationObject);
}
public void Solution4Example(DTE2 dte)
{
// This function creates a solution and adds a Visual C# Console
// project to it.
try{
Solution4 soln = (Solution4)_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);
}
}