Solution2-Schnittstelle
Stellt alle Projekte und projektmappenweiten Eigenschaften in der integrierten Entwicklungsumgebung (IDE) dar.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
<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
Der Solution2-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. Nur zur internen Verwendung von Microsoft. | |
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. Nur zur internen Verwendung von Microsoft. | |
IsOpen | Ruft einen Wert ab, der angibt, ob eine Projektmappe offen 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. | |
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. | |
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
Diese Schnittstelle enthält eine Auflistung aller Projekte in der aktuellen Instanz der IDE und aller projektmappenweiten Eigenschaften, z. B. Buildkonfigurationen. Es 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.
Sie können die geöffnete Projektmappe mithilfe der DTE.Solution-Eigenschaft bestimmen. Verwenden Sie Solution.Item(EnvDTE.Constants.vsProjectKindMisc oder Solution.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.
Im folgenden Code wird eine neue Konsolenanwendungsprojektmappe im angegebenen Pfad erstellt.
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);
}
}