XML-Manifest für Office-Add-Ins

In der XML-Manifestdatei eines Office-Add-Ins wird deklarativ beschrieben, wie Ihr Add-In aktiviert werden sollte, wenn es von einem Endbenutzer mit Office-Dokumenten und -Anwendungen installiert und verwendet wird.

Eine XML-Manifestdatei ermöglicht einem Office-Add-In folgende Aktionen:

  • Beschreibung von sich selbst durch die Bereitstellung einer ID, einer Version, einer Beschreibung, eines Anzeigenamens und eines Standardgebietsschemas

  • Legen Sie die für das Branding des Add-Ins verwendeten Bilder und die für Add-In-Befehle im Office-App-Menüband verwendete Symboldarstellung fest.

  • Geben Sie an, wie das Add-In in Office integriert ist, einschließlich benutzerdefinierter Benutzeroberflächen wie z. B. Menübandschaltflächen, die das Add-In erstellt.

  • Angabe der angeforderten Standardabmessungen für Inhalts-Add-Ins und der angeforderten Höhe für Outlook-Add-Ins

  • Deklaration der von der Office-Add-In benötigten Berechtigungen wie Lesen oder Schreiben in dem Dokument

  • Für Outlook-Add-Ins: Definition der Regeln, die den Kontext angeben, in dem sie aktiviert werden und mit dem Nachrichten-, Termin- oder Besprechungsanfrageelementen interagieren

Hinweis

Wenn Sie Ihr Add-In in AppSource veröffentlichen und innerhalb der Office-Benutzererfahrung verfügbar machen möchten, vergewissern Sie sich beim Erstellen des Add-Ins, dass es den Zertifizierungsrichtlinien für kommerzielle Marketplace-Websites entspricht. Damit das Add-In die Validierung besteht, muss es beispielsweise auf allen Plattformen funktionieren, die die Methoden unterstützen, die Sie definieren (weitere Informationen finden Sie im Abschnitt 1120.3 und auf der Anwendungs- und Verfügbarkeitsseite von Office-Add-Ins).

Tipp

Wenn Sie Ihr Add-In in mehreren Umgebungen testen (z. B. in Entwicklung, Staging, Demo usw.), empfehlen wir Ihnen, für jede Umgebung eine andere XML-Manifestdatei zu verwalten. In jeder Manifestdatei haben Sie folgende Möglichkeiten:

  • Geben Sie die URLs an, die der Umgebung entsprechen.
  • Passen Sie Metadatenwerte wie DisplayName und Bezeichnungen in Resources an, um die Umgebung anzugeben, damit Endbenutzer die entsprechende Umgebung eines quergeladenen Add-Ins identifizieren können.
  • Passen Sie die benutzerdefinierten Funktionen namespace an, um die Umgebung anzugeben, wenn Ihr Add-In benutzerdefinierte Funktionen definiert.

Durch Befolgen dieser Anleitung optimieren Sie den Testprozess und vermeiden Probleme, die andernfalls auftreten würden, wenn ein Add-In für mehrere Umgebungen gleichzeitig quergeladen wird.

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 Suchen der richtigen Reihenfolge von Manifestelementen.

Erforderliche Elemente nach Office-Add-In-Typ

Element Inhalt Aufgabenbereich Outlook
OfficeApp X X X
ID X X X
Version X X X
ProviderName X X X
DefaultLocale X X X
DisplayName X X X
[Beschreibung][] X X X
IconUrl X X X
SupportUrl** X X X
DefaultSettings (ContentApp)
DefaultSettings (TaskPaneApp)
X X
SourceLocation (ContentApp)
SourceLocation (TaskPaneApp)
X X
DesktopSettings X
SourceLocation (MailApp) X
Permissions (ContentApp)
Permissions (TaskPaneApp)
Permissions (MailApp)
X X X
Rule (RuleCollection)
Rule (MailApp)
X
Requirements (MailApp)* X
Set*
Sets (MailAppRequirements)*
X
Form*
FormSettings*
X
Sets (Requirements)* X X
Hosts* X X

*In Office-Add-In Manifest-Schemaversion 1.1 hinzugefügt.

** "SupportUrl" wird nur für Add-Ins benötigt, die über AppSource verteilt werden.

Anforderungen für das Hosting

Alle URLs, z. B. die für Add-In-Befehle verwendeten, müssen das Zwischenspeichern unterstützen. Der Server, auf dem das Bild gehostet wird, sollte keinen Cache-Control-Header zurückgeben,der no-cache, no-store oder ähnliche Optionen in der HTTP-Antwort angibt.

Alle URLs wie beispielsweise die im Element SourceLocation angegebenen Speicherorte der Quelldateien sollten SSL-gesichert (HTTPS) sein. Die Verwendung eines HTTPS-Endpunkts für Ihr Add-In ist zwar nicht in allen Add-In-Szenarien streng erforderlich, wird aber unbedingt empfohlen. Add-Ins, die nicht SSL-gesichert (HTTPS) sind, generieren Warnungen zu unsicheren Inhalten und Fehlern während der Verwendung. Wenn Sie das Add-In in Office für das Web ausführen oder das Add-In in AppSource veröffentlichen möchten, muss es SSL-gesichert sein. Wenn Ihr Add-In auf externe Daten und Dienste zugreift, sollte es SSL-gesichert sein, damit die Daten bei der Übertragung geschützt sind. Selbstsignierte Zertifikate können für die Entwicklung und für Tests verwendet werden, sofern das Zertifikat auf dem lokalen Computer als vertrauenswürdig festgelegt ist.

Bewährte Methoden für die Übermittlung an AppSource

Stellen Sie sicher, dass die Add-In-ID eine gültige und eindeutige GUID ist. Im Internet finden Sie verschiedene Tools zur Generierung von GUIDs, mit deren Hilfe Sie eine eindeutige GUID erstellen können.

An den Office Store übermittelte Add-Ins müssen auch das SupportUrl-Element enthalten. Weitere Informationen finden Sie unter Validierungsrichtlinien für an AppSource übermittelte Apps und Add-Ins.

Verwenden Sie nur das AppDomains-Element zum Festlegen von Domänen für Authentifizierungsszenarien, die von der im SourceLocation-Element festgelegten abweichen.

Angeben von Domänen, die im Add-In-Fenster geöffnet werden sollen

Bei der Ausführung in Office im Web kann ihr Aufgabenbereich zu einer beliebigen URL navigiert werden. Wenn Ihr Add-In jedoch auf Desktopplattformen versucht, zu einer URL in einer anderen Domäne als der Domäne zu wechseln, die die Startseite hostet (wie im SourceLocation-Element der Manifestdatei angegeben), wird diese URL in einem neuen Browserfenster außerhalb des Add-In-Bereichs der Office-Anwendung geöffnet.

Um dieses Verhalten von Desktop-Office außer Kraft zu setzen, geben Sie in der Liste der Domänen im AppDomains-Element der Manifestdatei alle Domänen an, die im Add-In-Fenster geöffnet werden sollen. 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. Versucht das Add-In, zu einer URL zu navigieren, die sich nicht auf der Liste befindet, wird die URL in Desktop-Office in einem neuen Browserfenster (außerhalb des Add-In-Bereichs) geöffnet.

Hinweis

Es gibt zwei Ausnahmen zu dieser Regel.

  • Sie gilt nur für den Stammbereich des Add-Ins. Wenn auf der Add-In-Seite ein iFrame eingebettet ist, kann der iFrame an eine beliebige URL weitergeleitet werden, unabhängig davon, ob er in AppDomains aufgeführt ist, auch in Desktop-Office.
  • Wenn ein Dialogfeld mit der displayDialogAsync-API geöffnet wird, muss sich die URL, die an die Methode übergeben wird, in der gleichen Domäne wie das Add-In befinden. Das Dialogfeld kann dann jedoch zu einer beliebigen URL weitergeleitet werden, unabhängig davon, ob sie in AppDomains aufgeführt ist (sogar in Desktop-Office).

Im folgenden XML-Manifestbeispiel wird die Haupt-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 in der AppDomains-Elementliste angegeben. Wenn das Add-In zu einer Seite in der www.northwindtraders.com-Domäne wechselt, wird diese Seite im Add-In-Bereich geöffnet, sogar im 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 verdient besondere Erwähnung. Es 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 der eingebetteten Browserruntime, in der 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 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 omitted -->
</VersionOverrides>
<VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides" xsi:type="VersionOverridesV1_0">
  <!-- other child elements omitted -->
  <VersionOverrides xmlns="http://schemas.microsoft.com/office/mailappversionoverrides/1.1" xsi:type="VersionOverridesV1_1">
    <!-- child elements 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.

Geben Sie Domänen an, aus denen Office.js API-Aufrufe erfolgen

Ihr Add-In kann Office.js-API-Aufrufe aus der Domäne ausführen, auf die imSourceLocation -Element der Manifestdatei verwiesen wird. Wenn Sie andere IFrames in Ihrem Add-In haben, die auf die Office.js-APIs zugreifen müssen, fügen Sie die Domäne dieser Quell-URL zu der Liste hinzu, die imAppDomains-Element der Manifestdatei angegeben ist. Wenn ein IFrame mit einer Quelle, die nicht in der AppDomains-Liste enthalten ist, versucht, einen Office.js-API-Aufruf zu starten, erhält das Add-In eine Fehlermeldung mit Berechtigung verweigert.

Manifest v1.1 XML-Dateibeispiele und Schemas

Der folgende Abschnitt enthält Beispiele von XML-Manifestdateien v1.1 für Inhalts-, Aufgabenbereich-, Outlook-Add-Ins.

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-ins 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-ins 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]" />
  <!--BeginTaskpaneMode integration. Office 2013 and 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. Currently only DesktopFormFactor is supported. We will add TabletFormFactor and PhoneFormFactor in the future-->
        <DesktopFormFactor>
          <!--Function file is an html page that includes 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>
                  <!-- Sample Todo: 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). 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>
    <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>
      <bt:ShortStrings>
        <bt:String id="Contoso.FunctionButton.Label" DefaultValue="Execute Function" />
        <bt:String id="Contoso.TaskpaneButton.Label" DefaultValue="Show Taskpane" />
        <bt:String id="Contoso.Dropdown.Label" DefaultValue="Dropdown" />
        <bt:String id="Contoso.Item1.Label" DefaultValue="Show Taskpane 1" />
        <bt:String id="Contoso.Item2.Label" DefaultValue="Show Taskpane 2" />
        <bt:String id="Contoso.Tab1.GroupLabel" DefaultValue="Test Group" />
         <bt:String id="Contoso.Tab1.TabLabel" DefaultValue="Test Tab" />
      </bt:ShortStrings>
      <bt:LongStrings>
        <bt:String id="Contoso.FunctionButton.Tooltip" DefaultValue="Click to Execute Function" />
        <bt:String id="Contoso.TaskpaneButton.Tooltip" DefaultValue="Click to Show a Taskpane" />
        <bt:String id="Contoso.Dropdown.Tooltip" DefaultValue="Click to Show Options on this Menu" />
        <bt:String id="Contoso.Item1.Tooltip" DefaultValue="Click to Show Taskpane1" />
        <bt:String id="Contoso.Item2.Tooltip" DefaultValue="Click to Show Taskpane2" />
      </bt:LongStrings>
    </Resources>
  </VersionOverrides>
</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