Add-In-Registrierung

Nachdem ein Add-In erstellt wurde, müssen Sie es unter Visual Studio registrieren, bevor es im Add-In-Manager aktiviert werden kann.Dies wird mit einer XML-Datei erreicht, die die Dateinamenerweiterung ".addin" aufweist.

Diese ADDIN-Datei beschreibt die Informationen, die Visual Studio benötigt, um das Add-In im Add-In-Manager anzuzeigen.Beim Starten von Visual Studio wird am Speicherort der ADDIN-Datei nach 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.

Die ADDIN-Datei wird automatisch erstellt, wenn Sie ein Add-In mit dem Add-In-Assistenten erstellen.Sie können eine ADDIN-Datei auch manuell erstellen, indem Sie die Informationen in diesem Thema verwenden.

Dateispeicherorte

Zwei Kopien der ADDIN-Datei werden wie folgt automatisch vom Add-In-Assistenten erstellt:

Speicherort der ADDIN-Datei

Speicherort der DLL-Datei

Beschreibung

Stammprojektordner

\Eigene Dateien\Visual Studio 2010\Projects\MyAddin1\MyAddin1\

Lokaler Pfad (MyAddin.dll)

Wird zur Bereitstellung des Add-In-Projekts verwendet.Ist im Projekt enthalten, um die Bearbeitung zu erleichtern, und verfügt für die XCopy-Bereitstellung über den lokalen Pfad.

Add-In-Ordner

\Eigene Dokumente\Visual Studio 2010\Addins\

- oder -

Speicherort der gemeinsamen Dokumente\Addins\

Debugordner des Projekts

(Beispiel: \Eigene Dokumente\Visual Studio 2010

Projects\MyAddin1\MyAddin1\bin \)

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

Um das Add-In auf einem anderen Computer installieren zu können, muss sich die ADDIN-Datei an einem Speicherort befinden, den Visual Studio auf Add-Ins überprüft.Diese Adressen werden im Optionen im Dialogfeld Umgebung auf der Seite Add-In-Sicherheit Knoten aufgelistet.Weitere Informationen finden Sie unter Add-In-Sicherheit.

Die DLL-Datei, die das Add-In enthält, kann auf dem Clientcomputer an einem beliebigen Speicherort installiert sein.Es empfiehlt sich jedoch, die Datei am gleichen Speicherort wie die ADDIN-Datei abzulegen.

HinweisHinweis

Das <Assembly>-Element der ADDIN-Datei muss auf die DLL-Datei zeigen, die die Binärdateien für das Add-In enthält.

Die ADDIN-Datei

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

Abschnitt

Beschreibung

Hostanwendung

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

Add-In

(Erforderlich) Enthält die Elemente, die das Add-In beschreiben.

Extras (Menü), Optionen (Seite)

(Optional) Gibt eine Seite im Dialogfeld Optionen an, auf der das Add-In konfiguriert werden kann.Untergeordnete Knoten geben die Kategorie und die Unterkategorie der Seite Optionen sowie den Assemblynamen und den vollständigen Klassennamen an.

Die folgenden Elemente sind untergeordnete Elemente des <Addin>-Abschnitts:

Element

Beschreibung

AboutBoxDetails

(Optional) Gibt den Text an, der im Dialogfeld Info von Visual Studio für das Add-In angezeigt wird.

AboutIconData

(Optional) Enthält binäre Daten zur Angabe des Symbols, das im Dialogfeld Info von Visual Studio für das Add-In angezeigt wird.

Speicherort des Infosymbols

(Optional) Gibt den absoluten Pfad oder relativen Pfad des Symbols an, das für das Add-In im Dialogfeld Info von Visual Studio angezeigt wird.

Assembly

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

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.

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 Commands.AddNamedCommand erstellen soll.

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.

Im Folgenden finden Sie detaillierte Informationen zu jeder Einstellung.Weitere Informationen zum hierarchischen Speicherort vieler Elemente, die beschrieben werden, finden Sie weiter unten in diesem Thema unter "Beispiel für eine ADDIN-XML-Datei".

19dax6cz.collapse_all(de-de,VS.110).gifHostanwendung

Das <Name>-Element im Host Application-Abschnitt enthält den Namen der Anwendung.Dies ist der Name, der in der Titelleiste der Anwendung angezeigt oder von DTE.Name zurückgegeben wird.Für Visual Studio enthält das Tag z. B. "Microsoft Visual Studio" und für die Makro-IDE "Microsoft Visual Studio Macros".

Eine ADDIN-Datei kann mehrere Werte für Hostanwendungen enthalten.Jeder Wert muss mithilfe der <Name>-Tags im <HostApplication>-Element gekennzeichnet werden.Zusätzlich zu einem <Name>-Element muss jedes <HostApplication>-Element auch die Versionsnummer der Anwendung in <Version>-Tags enthalten.Beispiel:

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

Sie können anstelle eines Werts für <Version> auch ein Sternchen (*) eingeben, das eine beliebige Version von Visual Studio bezeichnet.

19dax6cz.collapse_all(de-de,VS.110).gifAngezeigter Name

Das unter dem <Addin>-Tag angeordnete <FriendlyName>-Element gibt die Zeichenfolge an, die im Add-In-Manager in der Spalte Verfügbare Add-Ins angezeigt wird.Beispiel:

   <FriendlyName>My New Super Addin</FriendlyName>

19dax6cz.collapse_all(de-de,VS.110).gifBeschreibung

Das unter dem <Addin>-Tag angeordnete <Description>-Element gibt die Zeichenfolge an, die im Add-In-Manager im Feld Beschreibung angezeigt wird.Beispiel:

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

19dax6cz.collapse_all(de-de,VS.110).gifAboutBoxDetails

Wenn Sie bei der Erstellung des Add-Ins die Option zum Generieren von Einstellungen für das Dialogfeld Info auswählen, wird dieses Element der ADDIN-Datei hinzugefügt.Dieses Element gibt den Text an, der im Dialogfeld Info von Visual Studio angezeigt wird.Beispiel:

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

19dax6cz.collapse_all(de-de,VS.110).gifAboutIconData

Wenn Sie bei der Erstellung des Add-Ins die Option zum Generieren von Einstellungen für das Dialogfeld Info auswählen, wird dieses Element der ADDIN-Datei hinzugefügt.Dieses Element enthält Binärdaten, die das Symbol angeben, das im Dialogfeld Info von Visual Studio angezeigt wird.Beispiel:

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

19dax6cz.collapse_all(de-de,VS.110).gifAssembly

Das unter dem <Addin>-Element angeordnete <Assembly>-Element gibt den Speicherort der Add-In-Binärdateien an.Dieses Element kann auf einen relativen Pfad, einen absoluten Pfad ("file"), einen registrierten Assemblynamen ("assembly") oder eine URL ("url") festgelegt werden.

  • Das folgende Beispiel zeigt einen Speicherort mit absolutem Pfad.In diesem Fall ist der src-Parameter auf file festgelegt, um den Speicherort der Add-In-DLL anzugeben.

    <Assembly src="file">C:\Documents and Settings\jdoe\Application Data\Microsoft\Visual Studio\10.0\AddIns\MyAddin4.dll</Assembly>
    
  • Das folgende Beispiel zeigt einen registrierten Speicherort.In diesem Fall ist der src-Parameter auf assembly festgelegt, um eine registrierte Add-In-DLL anzugeben.

    <Assembly src="assembly">BookshelfDefineAddin</Assembly>
    
  • Das folgende Beispiel zeigt einen URL-Speicherort.In diesem Fall ist der src-Parameter auf url festgelegt, um den Internetspeicherort der Add-In-DLL anzugeben.

    <Assembly src="url">http://somewebsite.com/MyAddin4.dll</Assembly>
    

19dax6cz.collapse_all(de-de,VS.110).gifFullClassName

Das <FullClassName>-Element gibt den vollständigen Namen der Klasse an, die verwendet wird, um eine Verbindung mit dem Add-In herzustellen.Dies umfasst auch den Namespace, der die Klasse enthält.Beispiel:

    <FullClassName>MyAddin4.Connect</FullClassName>

19dax6cz.collapse_all(de-de,VS.110).gifLoadBehavior

Das <LoadBehavior>-Element definiert, ob ein Add-In beim Start der IDE automatisch geladen wird oder ob es manuell gestartet werden muss.Das <LoadBehavior>-Element ist unter dem <Addin>-Element angeordnet.Beispiel:

    <LoadBehavior>1</LoadBehavior>

Obwohl die Verwendung von <LoadBehavior> optional ist, ist es ratsam, damit 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.

19dax6cz.collapse_all(de-de,VS.110).gifCommandPreload

Das <CommandPreload>-Element gibt an, ob vorheriges Laden des Add-Ins erforderlich ist.In diesem Fall wird das Add-In vorab geladen, wenn Visual Studio nach dem Installieren der ADDIN-Datei zum ersten Mal gestartet wird.Beispiel:

    <CommandPreload>1</CommandPreload>

Mithilfe dieses Elements 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.Das Add-In wird dann entladen, bis ein Benutzer einen der Befehle ausführt, die das Add-In erstellt hat.Danach wird das Add-In jeweils nach Bedarf geladen.

Wert

Beschreibung

0

Das Add-In wird nur geladen, wenn der Benutzer es mit dem 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 Installieren der ADDIN-Datei 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.

19dax6cz.collapse_all(de-de,VS.110).gifCommandLineSafe

Das optionale <CommandLineSafe>-Element gibt an, ob das Add-In so konzipiert ist, dass beim Starten über die 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 Element die Modi von Visual Studio an, mit denen das Add-In kompatibel ist, z. B. nur Befehlszeile oder nur IDE.Beispiel:

    <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.

19dax6cz.collapse_all(de-de,VS.110).gifExtras (Menü), Optionen (Seite)

Das optionale <ToolsOptionsPage>-Element gibt eine Seite Optionen an, damit Benutzer das Add-In konfigurieren können.Untergeordnete Knoten geben die Kategorie und die Unterkategorie an, unter der die Seite angezeigt wird, und den Assemblynamen und vollständigen Klassennamen der Seite Optionen.Das folgende Beispiel zeigt die Hierarchie dieses Elements:

  <ToolsOptionsPage>
    <Category Name="Text Editor">
      <SubCategory Name="General">
        <Assembly>"MyFilePath\MyAddInOptionPage.dll"</Assembly>
        <FullClassName>"MyNamespace.MyAddInOptionPage"</FullClassName>
      </SubCategory>
    </Category>
  </ToolsOptionsPage>

ADDIN-XML-Beispieldatei

Das folgende Beispiel zeigt eine vollständige ADDIN-XML-Datei.Es werden die Hierarchie und die Speicherorte für die Elemente angezeigt, die in diesem Thema beschrieben werden.

<?xml version="1.0" encoding="UTF-16" standalone="no"?>
<Extensibility 
  xmlns="https://schemas.microsoft.com/AutomationExtensibility">
    <HostApplication>
        <Name>Microsoft Visual Studio Macros</Name>
        <Version>10.0</Version>
    </HostApplication> 
    <HostApplication>
        <Name>Microsoft Visual Studio</Name>
        <Version>10.0</Version>
    </HostApplication>
    <Addin>
        <FriendlyName>My great new add-in.</FriendlyName>
        <Description>This add-in does it all.</Description>
        <AboutBoxDetails>Copyright 2010.</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

Aufgaben

Gewusst wie: Steuern von Add-Ins mit dem Add-In-Manager

Gewusst wie: Erstellen von Add-Ins

Exemplarische Vorgehensweise: Erstellen eines Assistenten

Referenz

Visual Studio-Befehle und -Schalter

Konzepte

Diagramm "Automationsobjektmodell"

Weitere Ressourcen

Erstellen von Add-Ins und Assistenten