XML-Manifest für Office-Add-Ins

In diesem Artikel wird das XML-formatierte Manifest für Office-Add-Ins vorgestellt. Es wird davon ausgegangen, dass Sie mit dem Office-Add-Ins-Manifest vertraut sind. Zusätzlich zu den in diesem Artikel beschriebenen Zwecken unterstützt das XML-formatierte Manifest auch bestimmte Outlook-Add-In-Features, die im einheitlichen Manifest für Microsoft 365 nicht unterstützt werden. Beispielsweise kann ein XML-Manifest für Outlook-Add-Ins die Regel oder Regeln definieren, die den Kontext angeben, in dem das Add-In aktiviert wird.

Tipp

Eine Übersicht über das einheitliche Manifest für Microsoft 365 finden Sie unter Office-Add-Ins mit dem einheitlichen Manifest für Microsoft 365 (Vorschau).

Schemaversionen

Nicht alle Office-Clients unterstützen die neuesten Features, und einige Office-Benutzer verfügen über eine ältere Version von Office. Dank Schemaversionen können Entwickler abwärtskompatible Add-Ins erstellen, die die neuesten Features verwenden, wo sie verfügbar sind, aber auch auf älteren Versionen funktionieren.

Das <VersionOverrides-Element> im Manifest ist ein Beispiel dafür. Alle in <VersionOverrides definierten> Elemente überschreiben dasselbe Element im anderen Teil des Manifests. Dies bedeutet, dass Office das Add-In nach Möglichkeit verwendet, was sich im <Abschnitt VersionOverrides> befindet, um das Add-In einzurichten. Wenn die Version von Office jedoch eine bestimmte Version von <VersionOverrides> nicht unterstützt, ignoriert Office diese und hängt von den Informationen im rest des Manifests ab.

Dieser Ansatz bedeutet, dass Entwickler nicht mehrere einzelne Manifeste erstellen müssen, sondern alles in einer Datei definieren können.

Die aktuellen Versionen des Schemas sind:

Version Beschreibung
v1.0 Unterstützt Version 1.0 der Office JavaScript-API. In Outlook-Add-Ins unterstützt dies beispielsweise das Leseformular.
v1.1 Unterstützt Version 1.1 der Office JavaScript-API und <VersionOverrides>. In Outlook-Add-Ins wird dadurch beispielsweise unterstützung für das Formular zum Verfassen hinzugefügt.
<VersionOverrides> 1.0 Unterstützt neuere Versionen der Office JavaScript-API. Dies unterstützt Add-In-Befehle.
<VersionOverrides> 1.1 Wird nur von Outlook unterstützt. Diese Version von <VersionOverrides> bietet Unterstützung für neuere Features, z. B . anheftbare Aufgabenbereiche und mobile Add-Ins.

Auch wenn Ihr Add-In-Manifest das <VersionOverrides-Element> verwendet, ist es dennoch wichtig, die v1.1-Manifestelemente einzuschließen, damit Ihr Add-In mit älteren Clients funktioniert, die VersionOverrides> nicht unterstützen<.

Hinweis

Office verwendet ein Schema zum Überprüfen von Manifesten. Das Schema erfordert, dass Elemente im Manifest in einer bestimmten Reihenfolge angezeigt werden. Wenn Sie Elemente einschließen, die nicht in der erforderlichen Reihenfolge sind, treten beim Querladen Ihres Add-Ins möglicherweise Fehler auf. Weitere Informationen finden Sie unter Suchen der richtigen Reihenfolge von Manifestelementen in der erforderlichen Reihenfolge.

Erforderliche Elemente

In der folgenden Tabelle werden die Elemente angegeben, die für die drei Arten der Office-Add-Ins erforderlich sind.

Hinweis

Es gibt auch eine obligatorische Reihenfolge, in der Elemente innerhalb ihres übergeordneten Elements angezeigt werden müssen. Weitere Informationen finden Sie unter Ermitteln der richtigen Reihenfolge von XML-Manifestelementen.

Erforderliche Elemente nach Office-Add-In-Typ

Element Inhalt Aufgabenbereich E-Mail
(Outlook)
OfficeApp Erforderlich Erforderlich Erforderlich
Id Erforderlich Erforderlich Erforderlich
Version Erforderlich Erforderlich Erforderlich
ProviderName Erforderlich Erforderlich Erforderlich
DefaultLocale Erforderlich Erforderlich Erforderlich
DisplayName Erforderlich Erforderlich Erforderlich
Description Erforderlich Erforderlich Erforderlich
SupportUrl** Erforderlich Erforderlich Erforderlich
DefaultSettings (ContentApp)
DefaultSettings (TaskPaneApp)
Erforderlich Erforderlich Nicht verfügbar
SourceLocation (ContentApp)
SourceLocation (TaskPaneApp)
SourceLocation (MailApp)
Erforderlich Erforderlich Erforderlich
DesktopSettings Nicht verfügbar Nicht verfügbar Erforderlich
Permissions (ContentApp)
Permissions (TaskPaneApp)
Permissions (MailApp)
Erforderlich Erforderlich Erforderlich
Rule (RuleCollection)
Rule (MailApp)
Nicht verfügbar Nicht verfügbar Erforderlich
Anforderungen (MailApp)* Nicht zutreffend Nicht verfügbar Erforderlich
Festlegen*
Sätze (Anforderungen)*
Sätze (MailAppRequirements)*
Erforderlich Erforderlich Erforderlich
Formular*
FormSettings*
Nicht verfügbar Nicht verfügbar Erforderlich
Hosts* Erforderlich Erforderlich Optional

*In Der Office-Add-In-Manifestschema-Version 1.1 hinzugefügt.

** SupportUrl ist nur für Add-Ins erforderlich, die über AppSource verteilt werden.

Stammelement

Das Stammelement für das Office-Add-In-Manifest ist <OfficeApp>. Dieses Element deklariert auch den Standard-Namespace, die Schemaversion und den Typ des Add-Ins. Platzieren Sie alle anderen Elemente im Manifest innerhalb der öffnenden und schließenden Tags. Der folgende Code ist ein Beispiel des Stammelements.

<OfficeApp
  xmlns="http://schemas.microsoft.com/office/appforoffice/1.1"
  xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance"
  xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0"
  xmlns:mailappor="http://schemas.microsoft.com/office/mailappversionoverrides/1.0"
  xsi:type="MailApp">

  <!-- The rest of the manifest. -->

</OfficeApp>

Version

Dies ist die Version des spezifischen Add-Ins. Wenn ein Entwickler etwas im Manifest aktualisiert, muss die Version ebenfalls erhöht werden. Auf diese Weise wird bei der Installation des neuen Manifests das vorhandene überschrieben, und der Benutzer erhält die neue Funktionalität. Wenn dieses Add-In an den Store übermittelt wurde, muss das neue Manifest erneut gesendet und überprüft werden. Sobald es genehmigt wurde, wird das Manifest innerhalb einiger Stunden für die Benutzer dieses Add-Ins automatisch aktualisiert.

Wenn sich die angeforderten Berechtigungen des Add-Ins ändern, werden die Benutzer aufgefordert, eine Aktualisierung durchzuführen und dem Add-In erneut zuzustimmen. Wenn der Administrator dieses Add-In für die gesamte Organisation installiert hat, muss der Administrator zuerst erneut zustimmen. Benutzer können das Add-In erst verwenden, wenn die Zustimmung erteilt wurde.

Hosts

Office-Add-Ins geben das <Hosts-Element> wie folgt an:

<OfficeApp>
...
  <Hosts>
    <Host Name="Mailbox" />
  </Hosts>
...
</OfficeApp>

Dies ist vom <Hosts-Element> innerhalb des <VersionOverrides-Elements> getrennt, das unter Erstellen von Add-In-Befehlen mit dem XML-Manifest erläutert wird.

Angeben sicherer Domänen mit dem AppDomains-Element

Es gibt ein AppDomains-Element der XML-Manifestdatei, das verwendet wird, um Office mitzuteilen, zu welchen Domänen Ihr Add-In navigieren darf. Wie unter Angeben von Domänen angegeben, die Sie im Add-In-Fenster öffnen möchten, kann Ihr Aufgabenbereich bei der Ausführung in Office im Web zu einer beliebigen URL navigiert werden. Wenn Ihr Add-In auf Desktopplattformen jedoch versucht, zu einer URL in einer anderen Domäne als der Domäne zu wechseln, in der die Startseite gehostet wird (wie im SourceLocation-Element angegeben), wird diese URL in einem neuen Browserfenster außerhalb des Add-In-Bereichs der Office-Anwendung geöffnet.

Um dieses Verhalten (Office desktop) außer Kraft zu setzen, fügen Sie jede Domäne, die Sie im Add-In-Fenster öffnen möchten, der Liste der Domänen hinzu, die <im AppDomains-Element> angegeben sind. Wenn das Add-In versucht, zu einer URL in einer Domäne zu wechseln, die in der Liste enthalten ist, wird sie in Office im Web und Desktop-Office im Aufgabenbereich geöffnet. Wenn versucht wird, zu einer URL zu wechseln, die nicht in der Liste enthalten ist, wird diese URL in Office desktop in einem neuen Browserfenster (außerhalb des Add-In-Bereichs) geöffnet.

Die folgende Tabelle beschreibt das Browserverhalten, wenn Ihr Add-In versucht, zu einer URL außerhalb der Standarddomäne des Add-Ins zu navigieren.

Office-Client Domäne definiert
in AppDomains?
Browserverhalten
Alle Clients Ja Link wird im Aufgabenbereich des Add-Ins geöffnet.
– Office 2016 unter Windows (Volumenlizenz unbefristet)
– Office 2013 unter Windows (unbefristet)
Nein Link wird in Internet Explorer 11 geöffnet.
Andere Clients Nein Link wird im Standardbrowser des Benutzers geöffnet.

Im folgenden XML-Manifestbeispiel wird die Standard Add-In-Seite in der https://www.contoso.com Domäne gehostet, wie im <SourceLocation-Element> angegeben. Außerdem wird die https://www.northwindtraders.com Domäne in einem AppDomain-Element innerhalb der <AppDomains-Elementliste> angegeben. Wenn das Add-In zu einer Seite in der Domäne www.northwindtraders.com navigiert, wird diese Seite im Add-In-Bereich geöffnet (sogar in Office-Desktop).

<?xml version="1.0" encoding="UTF-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="TaskPaneApp">
  <!--IMPORTANT! Id must be unique for each add-in. If you copy this manifest ensure that you change this id to your own GUID. -->
  <Id>c6890c26-5bbb-40ed-a321-37f07909a2f0</Id>
  <Version>1.0</Version>
  <ProviderName>Contoso, Ltd</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <DisplayName DefaultValue="Northwind Traders Excel" />
  <Description DefaultValue="Search Northwind Traders data from Excel"/>
  <SupportUrl DefaultValue="[Insert the URL of a page that provides support information for the app]" />
  <AppDomains>
    <AppDomain>https://www.northwindtraders.com</AppDomain>
  </AppDomains>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://www.contoso.com/search_app/Default.aspx" />
  </DefaultSettings>
  <Permissions>ReadWriteDocument</Permissions>
</OfficeApp>

Versionsüberschreibungen im Manifest

Das optionale VersionOverrides-Element enthält untergeordnetes Markup, das zusätzliche Add-In-Features ermöglicht. Einige davon sind:

  • Anpassen des Office-Menübands und der Menüs.
  • Anpassen der Funktionsweise von Office mit den eingebetteten Runtimes, in denen Add-Ins ausgeführt werden.
  • Konfigurieren der Interaktion des Add-Ins mit Azure Active Directory und Microsoft Graph für einmaliges Anmelden.

Einige Nachfolgerelemente von VersionOverrides verfügen über Werte, die Werte des übergeordneten OfficeApp-Elements überschreiben. Beispielsweise überschreibt das Hosts-Element in VersionOverrides das Hosts-Element in OfficeApp.

Das VersionOverrides-Element verfügt über ein eigenes Schema, tatsächlich sogar vier davon, abhängig vom Typ des Add-Ins und den verwendeten Features. Die Schemas sind:

Wenn ein VersionOverrides-Element verwendet wird, muss das OfficeApp-Element über ein xmlns-Attribut verfügen, das das entsprechende Schema identifiziert. Die folgenden Werte des Attributs sind möglich:

  • http://schemas.microsoft.com/office/taskpaneappversionoverrides
  • http://schemas.microsoft.com/office/contentappversionoverrides
  • http://schemas.microsoft.com/office/mailappversionoverrides

Das VersionOverrides-Element selbst muss auch über ein xmlns-Attribut verfügen, das das Schema angibt. Die möglichen Werte sind die drei oben erwähnten und die folgenden:

  • http://schemas.microsoft.com/office/mailappversionoverrides/1.1

Das VersionOverrides-Element muss auch über ein xsi:type-Attribut verfügen, das die Schemaversion angibt. Folgende Werte sind möglich:

  • VersionOverridesV1_0
  • VersionOverridesV1_1

Im Folgenden finden Sie Beispiele für VersionOverrides, die in einem Aufgabenbereich-Add-In bzw. einem E-Mail-Add-In verwendet werden. Beachten Sie, dass bei Verwendung einer VersionOverrides-E-Mail mit Version 1.1, das es das letzte untergeordnete Element eines übergeordneten VersionOverrides vom Typ 1.0 sein muss. Die Werte der untergeordneten Elemente in der inneren VersionOverrides überschreiben die Werte der Elemente mit demselben Namen im übergeordneten VersionOverrides und dem über-übergeordneten OfficeApp-Element.

<VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <!-- Child elements are omitted. -->
</VersionOverrides>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
  <!-- Other child elements are omitted. -->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
    <!-- Child elements are omitted. -->
  </VersionOverrides>
</VersionOverrides>

Ein Beispiel für ein Manifest, das ein VersionOverrides-Element enthält, finden Sie unter Manifest v1.1 XML-Dateibeispiele und Schemas.

Anforderungen

Das <Requirements-Element> gibt den Satz von APIs an, die für das Add-In verfügbar sind. Ausführliche Informationen zu Anforderungssätzen finden Sie unter Verfügbarkeit von Office-Anforderungssätzen. In einem Outlook-Add-In muss der Anforderungssatz beispielsweise Postfach und der Wert 1.1 oder höher sein.

Das <Requirements-Element> kann auch im <VersionOverrides-Element> angezeigt werden, sodass das Add-In eine andere Anforderung angeben kann, wenn es in Clients geladen wird, die VersionOverrides> unterstützen<.

Im folgenden Beispiel wird das DefaultMinVersion-Attribut des <Sets-Elements> verwendet, um office.js Version 1.1 oder höher zu erfordern, und das MinVersion-Attribut des <Set-Elements> , um den Mailbox-Anforderungssatz Version 1.1 zu erfordern.

<OfficeApp>
...
  <Requirements>
    <Sets DefaultMinVersion="1.1">
      <Set Name="MailBox" MinVersion="1.1" />
    </Sets>
  </Requirements>
...
</OfficeApp>

Lokalisierung

Some aspects of the add-in need to be localized for different locales, such as the name, description and the URL that's loaded. Diese Elemente können einfach lokalisiert werden, indem Der Standardwert und dann Gebietsschemaüberschreibungen im <Resources-Element> innerhalb des <VersionOverrides-Elements> angegeben werden. Die folgende Abbildung zeigt, wie ein Bild, eine URL und eine Zeichenfolge überschrieben werden.

<Resources>
  <bt:Images>
    <bt:Image id="icon1_16x16" DefaultValue="https://contoso.com/images/app_icon_small.png" >
      <bt:Override Locale="ar-sa" Value="https://contoso.com/images/app_icon_small_arsa.png" />
      <!-- Add information for other locales. -->
    </bt:Image>
  </bt:Images>

  <bt:Urls>
    <bt:Url id="residDesktopFuncUrl" DefaultValue="https://contoso.com/urls/page_appcmdcode.html" >
      <bt:Override Locale="ar-sa" Value="https://contoso.com/urls/page_appcmdcode.html?lcid=ar-sa" />
      <!-- Add information for other locales. -->
    </bt:Url>
  </bt:Urls>

  <bt:ShortStrings> 
    <bt:String id="residViewTemplates" DefaultValue="Launch My Add-in">
      <bt:Override Locale="ar-sa" Value="<add localized value here>" />
      <!-- Add information for other locales. -->
    </bt:String>
  </bt:ShortStrings>
</Resources>

Die Schemareferenz enthält vollständige Informationen dazu, welche Elemente lokalisiert werden können.

Manifest v1.1 XML-Dateibeispiele und Schemas

In den folgenden Abschnitten werden Beispiele für XML-Manifestdateien v1.1 für Inhalts-, Aufgabenbereich- und E-Mail-Add-Ins (Outlook) gezeigt.

Add-In-Manifestschemas

<?xml version="1.0" encoding="utf-8"?>
<OfficeApp xmlns="http://schemas.microsoft.com/office/appforoffice/1.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:bt="http://schemas.microsoft.com/office/officeappbasictypes/1.0" xmlns:ov="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="TaskPaneApp">

  <!-- See https://github.com/OfficeDev/Office-Add-in-Commands-Samples for documentation. -->

  <!-- BeginBasicSettings: Add-in metadata, used for all versions of Office unless override provided. -->

  <!-- IMPORTANT! Id must be unique for your add-in. If you copy this manifest, ensure that you change this ID to your own GUID. -->
  <Id>e504fb41-a92a-4526-b101-542f357b7acb</Id>
  <Version>1.0.0.0</Version>
  <ProviderName>Contoso</ProviderName>
  <DefaultLocale>en-US</DefaultLocale>
  <!-- The display name of your add-in. Used on the store and various placed of the Office UI such as the add-in's dialog. -->
  <DisplayName DefaultValue="Add-in Commands Sample" />
  <Description DefaultValue="Sample that illustrates add-in commands basic control types and actions." />
  <!-- Icon for your add-in. Used on installation screens and the add-in's dialog. -->
  <IconUrl DefaultValue="https://contoso.com/assets/icon-32.png" />
  <HighResolutionIconUrl DefaultValue="https://contoso.com/assets/hi-res-icon.png" />
  <SupportUrl DefaultValue="[Insert the URL of a page that provides support information for the app]" />
  <!-- Domains that are allowed when navigating. For example, if you use ShowTaskpane and then have an href link, navigation is only allowed if the domain is on this list. -->
  <AppDomains>
    <AppDomain>AppDomain1</AppDomain>
    <AppDomain>AppDomain2</AppDomain>
  </AppDomains>
  <!-- End Basic Settings. -->

  <!-- BeginTaskPaneMode integration. Any client that doesn't understand commands will use this section.
    This section will also be used if there are no VersionOverrides. -->
  <Hosts>
    <Host Name="Document"/>
  </Hosts>
  <DefaultSettings>
    <SourceLocation DefaultValue="https://commandsimple.azurewebsites.net/Taskpane.html" />
  </DefaultSettings>
  <!-- EndTaskPaneMode integration. -->

  <Permissions>ReadWriteDocument</Permissions>

  <!-- BeginAddinCommandsMode integration. -->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/taskpaneappversionoverrides" xsi:type="VersionOverridesV1_0">
    <Hosts>
      <!-- Each host can have a different set of commands. Cool huh!? -->
      <!-- Workbook=Excel, Document=Word, Presentation=PowerPoint -->
      <!-- Make sure the hosts you override match the hosts declared in the top section of the manifest. -->
      <Host xsi:type="Document">
        <!-- Form factor. DesktopFormFactor is supported. Other form factors are available depending on the host and feature. -->
        <DesktopFormFactor>
          <!-- This code enables a customizable message to be displayed when the add-in is loaded successfully upon individual install. -->
          <GetStarted>
            <!-- Title of the Getting Started callout. The resid attribute points to a ShortString resource. -->
            <Title resid="Contoso.GetStarted.Title"/>
            <!-- Description of the Getting Started callout. resid points to a LongString resource. -->
            <Description resid="Contoso.GetStarted.Description"/>  
            <!-- Points to a URL resource which details how the add-in should be used. -->
            <LearnMoreUrl resid="Contoso.GetStarted.LearnMoreUrl"/>
          </GetStarted>
          <!-- Function file is an HTML page that includes, or loads, the JavaScript where functions for ExecuteAction will be called. Think of the FunctionFile as the "code behind" ExecuteFunction. -->
          <FunctionFile resid="Contoso.FunctionFile.Url" />

          <!-- PrimaryCommandSurface==Main Office app ribbon. -->
          <ExtensionPoint xsi:type="PrimaryCommandSurface">
            <!-- Use OfficeTab to extend an existing Tab. Use CustomTab to create a new tab. -->
            <!-- Documentation includes all the IDs currently tested to work. -->
            <CustomTab id="Contoso.Tab1">
              <!--Group ID-->
              <Group id="Contoso.Tab1.Group1">
                <!--Label for your group. resid must point to a ShortString resource. -->
                <Label resid="Contoso.Tab1.GroupLabel" />
                <Icon>
                  <!-- Each size needs its own icon resource or it will look distorted when resized. -->
                  <!-- Icons. Required sizes: 16, 32, 80; optional: 20, 24, 40, 48, 64. You should provide as many sizes as possible for a great user experience. -->
                  <!-- Use PNG icons and remember that all URLs on the resources section must use HTTPS. -->
                  <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                  <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                  <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                </Icon>

                <!-- Control. It can be of type "Button" or "Menu". -->
                <Control xsi:type="Button" id="Contoso.FunctionButton">
                  <!-- Label for your button. resid must point to a ShortString resource. -->
                  <Label resid="Contoso.FunctionButton.Label" />
                  <Supertip>
                    <!-- ToolTip title. resid must point to a ShortString resource. -->
                    <Title resid="Contoso.FunctionButton.Label" />
                    <!-- ToolTip description. resid must point to a LongString resource. -->
                    <Description resid="Contoso.FunctionButton.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Contoso.FunctionButton.Icon16" />
                    <bt:Image size="32" resid="Contoso.FunctionButton.Icon32" />
                    <bt:Image size="80" resid="Contoso.FunctionButton.Icon80" />
                  </Icon>
                  <!-- This is what happens when the command is triggered (e.g., click on the ribbon button). -->
                  <!-- Supported actions are ExecuteFunction or ShowTaskpane. -->
                  <!-- Look at the FunctionFile.html page for reference on how to implement the function. -->
                  <Action xsi:type="ExecuteFunction">
                    <!-- Name of the function to call. This function needs to exist in the global DOM namespace of the function file. -->
                    <FunctionName>writeText</FunctionName>
                  </Action>
                </Control>

                <Control xsi:type="Button" id="Contoso.TaskpaneButton">
                  <Label resid="Contoso.TaskpaneButton.Label" />
                  <Supertip>
                    <Title resid="Contoso.TaskpaneButton.Label" />
                    <Description resid="Contoso.TaskpaneButton.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                    <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                    <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                  </Icon>
                  <Action xsi:type="ShowTaskpane">
                    <TaskpaneId>Button2Id1</TaskpaneId>
                    <!-- Provide a URL resource ID for the location that will be displayed on the task pane. -->
                    <SourceLocation resid="Contoso.Taskpane1.Url" />
                  </Action>
                </Control>
                <!-- Menu example. -->
                <Control xsi:type="Menu" id="Contoso.Menu">
                  <Label resid="Contoso.Dropdown.Label" />
                  <Supertip>
                    <Title resid="Contoso.Dropdown.Label" />
                    <Description resid="Contoso.Dropdown.Tooltip" />
                  </Supertip>
                  <Icon>
                    <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                    <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                    <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                  </Icon>
                  <Items>
                    <Item id="Contoso.Menu.Item1">
                      <Label resid="Contoso.Item1.Label"/>
                      <Supertip>
                        <Title resid="Contoso.Item1.Label" />
                        <Description resid="Contoso.Item1.Tooltip" />
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                        <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                        <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <TaskpaneId>MyTaskPaneID1</TaskpaneId>
                        <SourceLocation resid="Contoso.Taskpane1.Url" />
                      </Action>
                    </Item>

                    <Item id="Contoso.Menu.Item2">
                      <Label resid="Contoso.Item2.Label"/>
                      <Supertip>
                        <Title resid="Contoso.Item2.Label" />
                        <Description resid="Contoso.Item2.Tooltip" />
                      </Supertip>
                      <Icon>
                        <bt:Image size="16" resid="Contoso.TaskpaneButton.Icon16" />
                        <bt:Image size="32" resid="Contoso.TaskpaneButton.Icon32" />
                        <bt:Image size="80" resid="Contoso.TaskpaneButton.Icon80" />
                      </Icon>
                      <Action xsi:type="ShowTaskpane">
                        <TaskpaneId>MyTaskPaneID2</TaskpaneId>
                        <SourceLocation resid="Contoso.Taskpane2.Url" />
                      </Action>
                    </Item>

                  </Items>
                </Control>

              </Group>

              <!-- Label of your tab. -->
              <!-- If validating with XSD, it needs to be at the end. -->
              <Label resid="Contoso.Tab1.TabLabel" />
            </CustomTab>
          </ExtensionPoint>
        </DesktopFormFactor>
      </Host>
    </Hosts>

    <!-- You can use resources across hosts and form factors. -->
    <Resources>
      <bt:Images>
        <bt:Image id="Contoso.TaskpaneButton.Icon16" DefaultValue="https://myCDN/Images/Button16x16.png" />
        <bt:Image id="Contoso.TaskpaneButton.Icon32" DefaultValue="https://myCDN/Images/Button32x32.png" />
        <bt:Image id="Contoso.TaskpaneButton.Icon80" DefaultValue="https://myCDN/Images/Button80x80.png" />
        <bt:Image id="Contoso.FunctionButton.Icon" DefaultValue="https://myCDN/Images/ButtonFunction.png" />
      </bt:Images>
      <bt:Urls>
        <bt:Url id="Contoso.FunctionFile.Url" DefaultValue="https://commandsimple.azurewebsites.net/FunctionFile.html" />
        <bt:Url id="Contoso.Taskpane1.Url" DefaultValue="https://commandsimple.azurewebsites.net/Taskpane.html" />
        <bt:Url id="Contoso.Taskpane2.Url" DefaultValue="https://commandsimple.azurewebsites.net/Taskpane2.html" />
      </bt:Urls>
      <!-- ShortStrings max characters=125. -->
      <bt:ShortStrings>
        <bt:String id="Contoso.FunctionButton.Label" DefaultValue="Execute Function" />
        <bt:String id="Contoso.TaskpaneButton.Label" DefaultValue="Show Task Pane" />
        <bt:String id="Contoso.Dropdown.Label" DefaultValue="Dropdown" />
        <bt:String id="Contoso.Item1.Label" DefaultValue="Show Task Pane 1" />
        <bt:String id="Contoso.Item2.Label" DefaultValue="Show Task Pane 2" />
        <bt:String id="Contoso.Tab1.GroupLabel" DefaultValue="Test Group" />
         <bt:String id="Contoso.Tab1.TabLabel" DefaultValue="Test Tab" />
      </bt:ShortStrings>
      <!-- LongStrings max characters=250. -->
      <bt:LongStrings>
        <bt:String id="Contoso.FunctionButton.Tooltip" DefaultValue="Click to execute function." />
        <bt:String id="Contoso.TaskpaneButton.Tooltip" DefaultValue="Click to show a task pane." />
        <bt:String id="Contoso.Dropdown.Tooltip" DefaultValue="Click to show options on this menu." />
        <bt:String id="Contoso.Item1.Tooltip" DefaultValue="Click to show Task Pane 1." />
        <bt:String id="Contoso.Item2.Tooltip" DefaultValue="Click to show Task Pane 2." />
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
  <!-- EndAddinCommandsMode integration. -->
</OfficeApp>

Validieren eines Office-Add-In-Manifests

Informationen zum Validieren eines Manifests anhand der XML Schema Definition (XSD) finden Sie unter Validieren eines Office-Add-In-Manifests.

Weitere Artikel