Gewusst wie: Erstellen von Projektmappen-Add-Ins
Beim Erstellen eines Add-Ins mithilfe des Add-In-Assistenten wird das Add-In automatisch mit der integrierten Entwicklungsumgebung (Integrated Development Environment – IDE) verknüpft.Es kann beim Starten der IDE geladen werden und wird so lange ausgeführt, bis Sie es entfernen oder die IDE herunterfahren.Alternativ können Sie ein Add-In mit einer Projektmappe verknüpfen, sodass es zu einem Projektmappen-Add-In wird.Ein Projektmappen-Add-In kann nützlich sein, wenn es aufgrund von Systemabhängigkeiten oder zur Minimierung der unnötigen Verwendung von Systemressourcen nur mit einer bestimmten Projektmappe geladen werden soll.Beim Laden einer Projektmappe in Visual Studio wird zunächst die Projektmappendatei (SLN-Datei) auf Verweise auf Add-Ins untersucht.Falls vorhanden, werden sie geladen, und dieselbe IDTExtensibility2-Methode wird wie ein reguläres Visual Studio-Add-In aufgerufen.
Der Add-In-Assistent bietet derzeit keine Möglichkeit, anzugeben, ob es sich bei einem Add-In um ein Projektmappen-Add-In handelt.Mit geringfügigen Änderungen hingegen können Sie ein Add-In in ein Projektmappen-Add-In umwandeln.Ein typisches Add-In speichert die zugehörigen Informationen in der ADDIN-XML-Datei oder – wie bei einem nicht verwalteten COM-Add-In – in der Registrierung. Ein Projektmappen-Add-In speichert die zugehörigen Informationen in der SLN-Datei der Projektmappe.
Hinweis |
---|
Projektmappen-Add-Ins müssen mithilfe der herkömmlichen COM-basierten Registrierung registriert werden.Da Visual Studio 2005-Add-Ins die neue XML-Registrierung (ADDIN-Datei) verwenden, muss die Registrierung in der Windows-Registrierung erfolgen.Die folgende Prozedur veranschaulicht die Vorgehensweise. |
Hinweis |
---|
Je nach den aktiven Einstellungen oder der Version unterscheiden sich die Dialogfelder und Menübefehle auf Ihrem Bildschirm möglicherweise von den in der Hilfe beschriebenen.Bei der Entwicklung dieser Verfahren war die Option Allgemeine Entwicklungseinstellungen aktiviert.Wählen Sie im Menü Extras die Option Einstellungen importieren und exportieren aus, um die Einstellungen zu ändern.Weitere Informationen finden Sie unter Visual Studio-Einstellungen. |
Erstellen eines Projektmappen-Add-Ins
Die folgende Prozedur beschreibt das Erstellen eines Projektmappen-Add-Ins.
So erstellen Sie ein Projektmappen-Add-In
Erstellen Sie mithilfe des Add-In-Assistenten ein neues Add-In-Projekt.Wählen Sie die entsprechende Sprache aus, und übernehmen Sie alle anderen Standardeinstellungen.
Klicken Sie mit der rechten Maustaste auf das Projekt, und wählen Sie Eigenschaften aus.
Klicken Sie auf die Registerkarte Erstellen, und aktivieren Sie das Kontrollkästchen Für COM-Interop registrieren.
So kann auf das Add-In als COM-Objekt verwiesen werden, eine Voraussetzung für Projektmappen-Add-Ins.Die vom Add-In-Assistenten für das Projekt erstellte ADDIN-XML-Datei benötigen Sie für ein Projektmappen-Add-In nicht, d. h., Sie können sie löschen.
Da es sich bei dem Projektmappen-Add-In um ein COM-Objekt handelt, müssen Sie es bei Windows registrieren.Rufen Sie dazu eine Visual Studio-Eingabeaufforderung auf, und geben Sie regasm /codebase SolutionAddinName.dll ein.
Da Sie ein Add-In nicht über die Registrierung mit einer Projektmappe verknüpfen können, müssen Sie dazu Code verwenden.Um das Add-In mit der Projektmappendatei zu registrieren, verwenden Sie die Add-Methode der AddIns-Auflistung der Projektmappe.
AddIns gibt eine AddIns-Auflistung zurück.Sie ähnelt AddIns, allerdings umfasst sie nicht alle Add-Ins in Visual Studio, sondern nur die mit der angegebenen Projektmappendatei registrierten Add-Ins.Verwenden Sie daher Solution.AddIns.Add zum Registrieren eines Add-Ins als Projektmappen-Add-In.
Es folgt ein Beispiel in Visual Basic und Visual C#.(Diese Zeilen sollen die Add-In-Variablendeklaration in der vom Add-In-Assistenten angegebenen OnConnection-Methode ersetzen.)
Imports EnvDTE Imports EnvDTE80 Imports EnvDTE90 Imports EnvDTE100 . . . Dim addin As EnvDTE.AddIn = _ _applicationObject.Solution2.AddIns.Add("MyAddin1.Connect", "MyAddinName", "My add-in description", True)
using EnvDTE; using EnvDTE80; using EnvDTE90; using EnvDTE100; . . . EnvDTE.AddIn addin = _applicationObject.Solution.AddIns.Add(MyAddin.Connect, "MyAddinName", "My add-in description", true);
Siehe auch
Aufgaben
Gewusst wie: Erstellen von Add-Ins
Konzepte
Visual Studio-Add-Ins und gemeinsame Add-Ins