Exportieren (0) Drucken
Alle erweitern

Add-In-Registrierung

Wenn Sie ein Add-In erstellt haben, muss dieses bei Visual Studio registriert werden. Erst dann kann es im Add-In-Manager aktiviert werden. In den vorherigen Versionen von Visual Studio wurde diese Registrierung mithilfe von Registrierungsschlüsseln ausgeführt. Jetzt wird zu diesem Zweck eine XML-Datei verwendet.

NoteHinweis

Die ADDIN-Datei wird automatisch erstellt, wenn Sie ein Add-In mit dem Add-In-Assistenten erstellen. Die folgenden Informationen gelten daher nur, wenn Sie die Registrierungsdatei des Add-Ins manuell erstellen oder bearbeiten möchten.

In Visual Studio .NET 2002 und Visual Studio .NET 2003 mussten Add-In-Assemblys mithilfe des Assemblyregistrierungstools (regasm.exe) als COM-Komponenten bei Windows registriert werden. Außerdem musste das Add-In unter Verwendung von Windows-Registrierungsschlüsseln bei Visual Studio registriert werden, bevor es im Add-In-Manager angezeigt wurde.

In Visual Studio 2005 wurde die Vorgehensweise geändert. Sie müssen die .NET-Assemblys nun nicht mehr mit regasm bei Windows registrieren. Stattdessen fügen Sie die Assembly-DLL einfach zusammen mit einer XML-Datei mit der Erweiterung .Addin in ein bestimmtes Verzeichnis ein (das weiter unten in diesem Thema beschrieben wird). Diese XML-Datei enthält die Informationen, die Visual Studio benötigt, um das Add-In im Add-In-Manager anzuzeigen. Beim Start von Visual Studio wird am unten aufgeführten Speicherort für ADDIN-Dateien nach allen verfügbaren ADDIN-Dateien gesucht. Wenn eine solche XML-Datei gefunden wird, wird sie gelesen, und dem Add-In-Manager werden alle Informationen zur Verfügung gestellt, die nach einem entsprechenden Mausklick zum Starten des Add-Ins benötigt werden.

Durch diese vereinfachte Registrierungsmethode werden XCopy-Installationen für Add-Ins für verwalteten Code ermöglicht. Wenn Sie alle Dateien an der richtigen Stelle ablegen, funktioniert das Add-In ordnungsgemäß. Zudem lässt sich eine kommentierte XML-Datei zum Definieren der Add-In-Registrierungseinstellungen leichter verstehen und bearbeiten als entsprechende Registrierungsschlüssel.

Die ADDIN-Datei

Anstelle der früheren Add-In-Registrierungseinstellungen wird nun eine neue XML-Datei mit der Erweiterung .Addin verwendet. Nach Beendigung des Add-In-Assistenten werden automatisch zwei Kopien der ADDIN-Datei erstellt:

Speicherort der ADDIN-Datei Speicherort der DLL-Datei Beschreibung

Add-In-Ordner

(z. B. \Dokumente und Einstellungen\Administrator\Eigene Dateien\Visual Studio 2005\Addins)

- oder -

\Dokumente und Einstellungen\<user name>\Eigene Dateien\Visual Studio 2005\Addins)

Debugordner des Projekts

(z. B. \Eigene Dateien\Visual Studio Projects\MyAddin1\MyAddin1\bin)

Wird zum Ausführen des Add-Ins in der Debugumgebung verwendet. Sollte immer auf den Ausgabepfad der aktuellen Buildkonfiguration zeigen.

Stammprojektordner

(z. B. \Eigene Dateien\Visual Studio\Projects\MyAddin1)

Lokaler Pfad (MyAddin.dll)

Wird zur Bereitstellung des Add-In-Projekts verwendet. Ist im Projekt enthalten, um die Bearbeitung zu erleichtern, und wird für die XCopy-Bereitstellung mit dem lokalen Pfad eingerichtet.

Die ADDIN-XML-Datei ist in die folgenden markierten Abschnitte unterteilt:

Einstellung Beschreibung

Hostanwendung

(Erforderlich.) Gibt die Namen und Versionsnummern der Anwendungen an, in die das Add-In geladen werden kann.

Assembly

(Erforderlich.) Gibt den Speicherort der Add-In-Binärdateien an. Dieses Feld kann auf einen lokalen Pfad, einen Netzwerkpfad oder einen gültigen URL festgelegt werden.

FullClassName

(Erforderlich.) Gibt den Namen der Klasse an, die verwendet wird, um eine Verbindung mit dem Add-In herzustellen.

LoadBehavior

(Optional.) Definiert, ob ein Add-In beim Start oder manuell geladen wird.

CommandPreload

(Optional.) Gibt den Zustand des Add-Ins in Bezug auf vorheriges Laden an, d. h., ob das Add-In die zugehörige Benutzeroberfläche mithilfe einer Methode wie EnvDTE.Commands.AddNamedCommand(EnvDTE.AddIn,System.String,System.String,System.String,System.Boolean,System.Int32,System.Object[],System.Int32) erstellen soll.

CommandLineSafe

(Optional.) Gibt die Modi von Visual Studio an, mit denen das Add-In kompatibel ist, z. B. nur Befehlszeile, nur integrierte Entwicklungsumgebung (Integrated Development Environment – IDE) oder beides.

Im Folgenden finden Sie detaillierte Informationen zu jeder Einstellung.

Hostanwendung

Das <Name>-Tag der Hostanwendung enthält deren Namen. Dies ist der in der Titelleiste der Anwendung angezeigte oder von DTE.Name zurückgegebene Name. Für Visual Studio würde das Tag also z. B. "Microsoft Visual Studio" enthalten, für die Makro-IDE "Microsoft Visual Studio Macros".

Eine ADDIN-Datei kann mehrere Werte für Hostanwendungen enthalten. Jeder Wert muss innerhalb des <HostApplication>-Tags in <Name>-Tags eingeschlossen sein. Zusätzlich zum <Name>-Tag muss jedes <HostApplication>-Tag die Versionsnummer der betreffenden Anwendung in <Version>-Tags enthalten. Beispiel:

   <HostApplication>
      <!-- First Host App name (required). -->
      <Name>Microsoft Visual Studio</Name>
      <Version>8.0</Version>
   </HostApplication>
   <HostApplication>
      <!-- An additional supported program/version. -->
      <Name>Microsoft Visual Studio Macros</Name>
      <Version>8.0</Version>
   </HostApplication>

Sie können anstelle eines Werts für <Version> auch ein Sternchen (*) eingeben, das jede beliebige Version von Visual Studio bezeichnet. Informationen zur hierarchischen Position dieser Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

Angezeigter Name

Das unter dem <Addin>-Tag angeordnete <FriendlyName>-Tag gibt die Zeichenfolge an, die im Add-In-Manager in der Spalte Verfügbare Add-Ins für das Add-In angezeigt wird. Im Folgenden sehen Sie ein Verwendungsbeispiel:

   <FriendlyName>My New Super Addin</FriendlyName>

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

Description

Das unter dem <Addin>-Tag angeordnete <Description>-Tag gibt die Zeichenfolge an, die im Add-In-Manager im Feld Beschreibung für das Add-In angezeigt wird. Im Folgenden sehen Sie ein Verwendungsbeispiel:

   <Description>This add-in will change your life!</Description>

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

AboutBoxDetails

Wenn Sie bei der Erstellung des Add-Ins die Option zum Generieren von Einstellungen für das Info-Dialogfeld auswählen, wird dieses Tag zur ADDIN-Datei hinzugefügt. In diesem Tag wird der Text angegeben, der im Info-Dialogfeld von Visual Studio für das Add-In angezeigt wird. Im Folgenden sehen Sie ein Verwendungsbeispiel:

   <AboutBoxDetails>For add-in support, call 1-800-xxx-
     xxxx.</AboutBoxDetails>

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

AboutIconData

Wenn Sie bei der Erstellung des Add-Ins die Option zum Generieren von Einstellungen für das Info-Dialogfeld auswählen, wird dieses Tag zur ADDIN-Datei hinzugefügt. Dieses Tag enthält binäre Daten zur Angabe des Symbols, das im Info-Dialogfeld von Visual Studio für das Add-In angezeigt wird. Im Folgenden sehen Sie ein Verwendungsbeispiel:

<AboutIconData>0000010006 . . . FFFF0000</AboutIconData>

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

Assembly

Das unter dem <Addin>-Tag angeordnete <Assembly>-Tag gibt den Speicherort der Add-In-Binärdateien an. Dieses Tag kann auf einen lokalen Pfad, einen Netzwerkpfad ("file"), den Namen einer registrierten Assembly ("assembly") oder einen gültigen URL ("url") festgelegt werden. Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

  • Im folgenden Beispiel ist ein URL als Add-In-Speicherort angegeben. In diesem Fall ist der src-Parameter auf url festgelegt, um den webbasierten Speicherort der DLL des Add-Ins anzugeben:

    <Assembly src="url">http://somewebsite.com/MyAddin4.dll</Assembly>
    
  • Im folgenden Beispiel ist ein lokaler Pfad als Speicherort angegeben. In diesem Fall ist der src-Parameter auf file festgelegt, um den lokalen Speicherort der DLL des Add-Ins anzugeben:

    <Assembly src="file">C:\Documents and Settings\jdoe\Application Data\Microsoft\Visual Studio\8.0\AddIns\MyAddin4.dll</Assembly>
    
  • Im folgenden Beispiel ist ein lokaler Pfad angegeben. In diesem Fall ist der src-Parameter auf assembly festgelegt, um den webbasierten Speicherort der DLL des Add-Ins anzugeben:

    <Assembly src="assembly">BookshelfDefineAddin</Assembly>
    

FullClassName

Das <FullClassName>-Tag gibt den vollständigen Namen der Klasse an, die zum Herstellen der Verbindung zum Add-In verwendet wird, einschließlich des Namespaces, in dem die Klasse enthalten ist. Im Folgenden sehen Sie ein Verwendungsbeispiel:

    <FullClassName>MyAddin4.Connect</FullClassName>

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

LoadBehavior

Durch das <LoadBehavior>-Tag wird definiert, ob ein Add-In beim Start der IDE automatisch geladen wird oder ob es manuell gestartet werden muss. Das <LoadBehavior>-Tag ist unter dem <Addin>-Tag angeordnet. Im Folgenden sehen Sie ein Verwendungsbeispiel:

    <LoadBehavior>1</LoadBehavior>

Die Verwendung des <LoadBehavior>-Tags ist zwar optional, wird aber empfohlen, um explizit festzulegen, wann ein Add-In geladen wird.

Wert Beschreibung

0

Das Add-In wird beim Start der IDE nicht geladen und muss manuell gestartet werden.

1

Das Add-In wird beim Start der IDE automatisch geladen.

4

Das Add-In wird geladen, wenn devenv von der Befehlszeile aus mit einem Buildschalter (devenv /build) gestartet wird.

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

CommandPreload

Das <CommandPreload>-Tag gibt an, ob vorheriges Laden des Add-Ins erforderlich ist. In diesem Fall wird das Add-In vorab geladen, wenn Visual Studio nach dem Ablegen der ADDIN-Datei auf dem Datenträger zum ersten Mal gestartet wird. Im Folgenden sehen Sie ein Verwendungsbeispiel:

    <CommandPreload>1</CommandPreload>

Mithilfe dieses Tags können Sie angeben, dass ein Add-In nach dem Start von Visual Studio geladen werden muss. Das Add-In erhält dadurch die Gelegenheit, erforderliche Benutzeroberflächenelemente wie Schaltflächen der Befehlsleiste zu erstellen oder andere, nur bei der ersten Initialisierung anfallende Aufgaben auszuführen, z. B. die Erstellung standardmäßiger Add-In-Einstellungen. Anschließend wird das Add-In sofort wieder entladen, bis ein Benutzer einen der vom Add-In erstellten Befehle ausführt. Dadurch wird das Add-In in allen nachfolgenden Instanzen der IDE bei Bedarf geladen.

Wert Beschreibung

0

Das Add-In wird nur geladen, wenn der Benutzer es im Add-In-Manager startet oder das Add-In so definiert ist, dass es beim Start geladen wird.

1

Das Add-In wird automatisch geladen, wenn Visual Studio nach dem Ablegen der ADDIN-XML-Datei auf dem Datenträger zum ersten Mal gestartet wird.

Sie können die implementierte OnConnection-Methode überprüfen, um festzustellen, ob der im zweiten Argument für OnConnection angegebene Verbindungstyp ext_cm_UISetup lautet. Wenn dies der Fall ist, können Sie mithilfe der AddNamedCommand-Methode oder der AddControl-Methode beliebige Befehlspositionierungen durchführen.

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

CommandLineSafe

Das optionale <CommandLineSafe>-Tag gibt an, ob das Add-In so konzipiert ist, dass beim Starten über die devenv-Befehlszeile keine Benutzeroberfläche angezeigt wird, beispielsweise bei der Durchführung von Befehlszeilenbuilds oder ähnlichen Vorgängen. (Zu diesem Zweck wird im Add-In-Assistenten die Option Das Add-In mit Befehlszeilenoptionen verwenden (keine modale Benutzeroberfläche) ausgewählt.) Außerdem gibt das Tag die Modi von Visual Studio an, mit denen das Add-In kompatibel ist, z. B. nur Befehlszeile oder nur IDE. Im Folgenden sehen Sie ein Verwendungsbeispiel:

    <CommandLineSafe>0</CommandLineSafe>
Wert Beschreibung

0

Gibt an, dass das Add-In nicht für die Befehlszeile geeignet ist und möglicherweise eine Benutzeroberfläche anzeigt.

1

Gibt an, dass das Add-In für die Befehlszeile geeignet ist und keine Benutzeroberfläche anzeigt.

Informationen zur hierarchischen Position dieses Tags finden Sie weiter unten in diesem Thema im Abschnitt "ADDIN-XML-Beispieldatei".

ADDIN-XML-Beispieldatei

Es folgt ein Beispiel für eine vollständige ADDIN-XML-Datei. Es zeigt die Hierarchie und die Speicherorte für die oben genannten Tags.

<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<Extensibility 
  xmlns="http://schemas.microsoft.com/AutomationExtensibility">
    <HostApplication>
        <Name>Microsoft Visual Studio Macros</Name>
        <Version>8.0</Version>
    </HostApplication> 
    <HostApplication>
        <Name>Microsoft Visual Studio</Name>
        <Version>8.0</Version>
    </HostApplication>
    <Addin>
        <FriendlyName>My great new add-in.</FriendlyName>
        <Description>This add-in does it all.</Description>
        <AboutBoxDetails>Copyright 2005.</AboutBoxDetails>
        <AboutIconData>0000 . . . FFFF0000</AboutIconData>
        <Assembly>MyNewAddin.dll</Assembly>
        <FullClassName>MyNewAddin.Connect</FullClassName>
        <LoadBehavior>1</LoadBehavior>
        <CommandPreload>1</CommandPreload>
        <CommandLineSafe>0</CommandLineSafe>
    </Addin>
</Extensibility>

Siehe auch

Anzeigen:
© 2015 Microsoft