Gewusst wie: Programmgesteuertes Erstellen von Projektelementen
Um Projektelemente programmgesteuert zu erstellen, rufen Sie zuerst GetProjectItemTemplate auf und übergeben die zurückgegebenen Vorlagenpfade dann an AddFromTemplate.Weitere Informationen finden Sie unter Visual Studio Templates.
Die GetProjectItemTemplate-Methode gibt die Vorlage aus der entsprechenden ZIP-Datei zurück, die mit der AddFromTemplate-Methode verwendet wird.Die Projektelementvorlagen für alle Sprachen befinden sich unter \Programme\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\Sprache\.
Sie können auch eigene benutzerdefinierte Projektelementvorlagen erstellen.Um den Speicherort für die Vorlagen anzugeben, klicken Sie im Menü Extras auf Optionen.Klicken Sie im linken Bereich des Dialogfelds Optionen auf Projekte und Projektmappen.Geben Sie den Pfad für die Vorlagen im Feld Speicherort von Visual Studio-Benutzerelementvorlagen ein.
Benutzerdefinierte Vorlagen erfordern eindeutige Dateinamen, die nicht mit den unter \Programme\Microsoft Visual Studio 10.0\Common7\IDE\ItemTemplates\Sprache\ definierten Dateinamen in Konflikt stehen.
Verwenden Sie lange Dateinamen (keine 8.3-Namen).Weitere Informationen finden Sie unter Creating Project and Item Templates.
Um Projekte aus der Projektmappe zu entfernen, verwenden Sie Remove.
Im folgenden Beispiel wird die generische Methode zur Erstellung von Projektelementen dargestellt.Die im Abschnitt Siehe auch aufgeführten Themen behandeln die Verwendung sprachspezifischer Modelle.
Hinweis |
---|
Auf Ihrem Computer werden möglicherweise andere Namen oder Speicherorte für die Benutzeroberflächenelemente von Visual Studio angezeigt als die in den folgenden Anweisungen aufgeführten.Die von Ihnen verwendete Visual Studio-Edition und die Einstellungen legen diese Elemente fest.Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
Hinzufügen von Elementen zu Projekten
So fügen Sie einem Projekt Elemente programmgesteuert hinzu
Starten Sie Visual Studio, und erstellen Sie ein Visual Studio-Add-In-Projekt.
Fügen Sie den Code hinzu, der später in diesem Thema angegeben ist, der Connect-Klasse des Add-Ins hinzu.
Führen Sie das Add-In-Projekt aus und aktivieren Sie es im Add-In-Manager, indem Sie im Menü Tools auf Add-In-Manager klicken und das Kontrollkästchen neben dem Add-In aktivieren.
Beispiel
Im folgenden Beispiel wird veranschaulicht, wie einem vorhandenen Visual Basic-Projekt Elemente programmgesteuert hinzugefügt werden.
' Before running the following code, be sure that a Visual Basic
' project is open in Visual Studio.
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)
createProjectItem(_applicationObject)
End Sub
Sub createProjectItem(ByVal dte As DTE2)
' Adds a new Class to an existing Visual Basic project.
Dim soln As Solution2
Dim prj As Project
soln = CType(_applicationObject.Solution, Solution2)
Dim prjItem As ProjectItem
Dim itemPath As String
' Point to the first project (the Visual Basic project).
prj = soln.Projects.Item(1)
' Retrieve the path to the Class template.
itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj")
' Create a new project item based on the template, in this case,
' a Class.
prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass")
End Sub
// Before running the following code, be sure that a Visual Basic
// project is open in Visual Studio.
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.
createProjectItem(_applicationObject);
}
public void createProjectItem(DTE2 dte)
{
//Adds a new Class to an existing Visual Basic project.
Solution2 soln;
Project prj;
soln = (Solution2)_applicationObject.Solution;
ProjectItem prjItem;
String itemPath;
// Point to the first project (the Visual Basic project).
prj = soln.Projects.Item(1);
// Retrieve the path to the class template.
itemPath = soln.GetProjectItemTemplate("Class.zip", "vbproj");
//Create a new project item based on the template, in this
// case, a Class.
prjItem = prj.ProjectItems.AddFromTemplate(itemPath, "MyNewClass");
}
Kompilieren des Codes
Um den Code zu kompilieren, erstellen Sie ein Visual Studio-Add-In-Projekt und ersetzen den Code der Connect.cs-Klasse oder Connect.vb-Klasse durch den Code im Beispiel.Öffnen Sie ein Visual Basic-Projekt in Visual Studio, bevor Sie das Add-In ausführen.Informationen zum Ausführen eines Add-Ins finden Sie unter Gewusst wie: Steuern von Add-Ins mit dem Add-In-Manager.
Robuste Programmierung
Wenn Sie Projektelementnamen als Parameter für Solution.Projects.Item einsetzen, müssen Sie den eindeutigen Namen des Projekts verwenden.Der eindeutige Name ist ein relativer Pfad, der von dem Verzeichnis, in dem die Projektmappendatei (.sln) enthalten ist, zur Projektdatei führt.
Vergleichen Sie beispielsweise die folgende Projektmappen-/Projektstruktur:
SomeSolution.sln
WinApp1
WinApp1.VBProj
Der eindeutige Name für das Projekt würde "WinApp1/WinApp1.VBProj" und der Aufruf an die Item-Methode würde Solution.Projects.Item("WinApp1/WinApp1.VBProj") lauten.
Siehe auch
Aufgaben
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell
Gewusst wie: Programmgesteuertes Erstellen von Projekten
Konzepte
Bearbeiten von Visual Basic- und Visual C#-Projekten
Bearbeiten von Visual C++-Projekten
Einführung in Visual Studio-Vorlagen