XML-манифест надстроек Office

В этой статье представлен манифест в формате XML для надстроек Office. Предполагается, что вы знакомы с манифестом надстроек Office. Помимо целей, описанных в этой статье, манифест в формате XML также поддерживает некоторые функции надстройки Outlook, которые не поддерживаются в унифицированном манифесте для Microsoft 365. Например, XML-манифест для надстроек Outlook может определять правило или правила, указывающие контекст, в котором активируется надстройка.

Совет

Общие сведения о едином манифесте для Microsoft 365 см. в статье Надстройки Office с унифицированным манифестом для Microsoft 365 (предварительная версия).

Версии схемы

Не все клиенты Office поддерживают последние функции, и некоторые пользователи Office будут иметь более старую версию Office. Версии схемы позволяют разработчикам создавать надстройки с обратной совместимостью, которые используют новейшие функции по мере их появления, но по-прежнему работают в устаревших версиях.

Примером <этого является элемент VersionOverrides> в манифесте. Все элементы, определенные в <VersionOverrides> , переопределяют один и тот же элемент в другой части манифеста. Это означает, что по возможности Office будет использовать то, что находится в <разделе VersionOverrides> , для настройки надстройки. Однако если версия Office не поддерживает определенную версию <VersionOverrides>, Office проигнорирует ее и будет зависеть от сведений в остальной части манифеста.

Этот подход означает, что разработчикам не требуется создавать несколько отдельных манифестов — все параметры можно задать в одном файле.

В настоящий момент доступны следующие версии схемы:

Версия Описание
v1.0 Поддерживает версию 1.0 API JavaScript для Office. Например, в надстройках Outlook поддерживается форма чтения.
v1.1 Поддерживает api JavaScript для Office версии 1.1 и <VersionOverrides>. Например, в надстройках Outlook добавлена поддержка формы создания.
<VersionOverrides> 1.0 Поддерживает более поздние версии API JavaScript для Office. Поддерживаются команды надстроек.
<VersionOverrides> 1.1 Поддерживается только Outlook. В этой версии VersionOverrides> добавлена< поддержка новых функций, таких как закрепленные области задач и мобильные надстройки.

Даже если в манифесте надстройки используется <элемент VersionOverrides> , по-прежнему важно включить элементы манифеста версии 1.1, чтобы надстройка работала с более старыми клиентами, которые не поддерживают <VersionOverrides>.

Примечание.

Office использует схему для проверки манифестов. Схема требует, чтобы элементы манифеста отображались в определенном порядке. При включении элементов в нужном порядке могут возникнуть ошибки при загрузке неопубликованного приложения. См . раздел Поиск правильного порядка элементов манифеста в требуемом порядке.

Обязательные элементы

В приведенной ниже таблице указаны обязательные элементы для трех типов надстроек Office.

Примечание.

Кроме того, есть обязательный порядок размещения элементов в родительском элементе. Дополнительные сведения см . в разделе Поиск правильного порядка элементов манифеста XML.

Обязательные элементы по типам надстроек Office

Элемент Контентная Для области задач Почта
(Outlook)
OfficeApp Обязательный Обязательный Обязательный
Id Обязательный Обязательный Обязательный
Version Обязательный Обязательный Обязательный
ProviderName Обязательный Обязательный Обязательный
DefaultLocale Обязательный Обязательный Обязательный
DisplayName Обязательный Обязательный Обязательный
Description Обязательный Обязательный Обязательный
SupportUrl** Обязательный Обязательный Обязательный
DefaultSettings (ContentApp)
DefaultSettings (TaskPaneApp)
Обязательный Обязательный Недоступно
SourceLocation (ContentApp)
SourceLocation (TaskPaneApp)
SourceLocation (MailApp)
Обязательный Обязательный Обязательный
DesktopSettings Недоступно Недоступно Обязательный
Permissions (ContentApp)
Permissions (TaskPaneApp)
Permissions (MailApp)
Обязательный Обязательный Обязательный
Rule (RuleCollection)
Rule (MailApp)
Недоступно Недоступно Обязательный
Requirements (MailApp)* Неприменимо Недоступно Обязательный
Set*
Sets (Requirements)*
Sets (MailAppRequirements)*
Обязательный Обязательный Обязательный
Form*
FormSettings*
Недоступно Недоступно Обязательный
Hosts* Обязательный Обязательный Необязательный

*Добавлено в схему манифеста надстройки Office версии 1.1.

** SupportUrl требуется только для надстроек, распространяемых через AppSource.

Корневой элемент

Корневой элемент манифеста надстройки Office — <OfficeApp>. Этот элемент также объявляет пространство имен по умолчанию, версию схемы и тип надстройки. Поместите все остальные элементы манифеста между его открывающим и закрывающим тегами. Ниже приводится пример корневого элемента.

<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

Это версия конкретной надстройки. Если разработчик обновит какой-либо элемент манифеста, версия также должна быть увеличена. Благодаря этому при установке нового манифеста будет переписан существующий, а пользователь получит новые функции. Если эта надстройка была отправлена в магазин, манифест потребуется заново отправить и проверить. Спустя несколько часов (после утверждения обновленного манифеста) пользователи надстройки автоматически получат его.

При изменении разрешений, запрашиваемых надстройкой, пользователям предлагается выполнить обновление и повторно согласиться на предоставление надстройке разрешений. Если администратор установил эту надстройку для всей организации, он должен будет дать свое согласие первым. Пользователи не смогут использовать надстройку, пока не будет предоставлено согласие.

Hosts

Надстройки Office указывают <элемент Hosts> следующим образом:

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

Это отдельно от <элемента Hosts> в элементе <VersionOverrides>, который рассматривается в Create команд надстройки с XML-манифестом.

Указание безопасных доменов с помощью элемента AppDomains

Существует элемент AppDomains XML-файла манифеста, который используется для того, чтобы сообщить Office, в каких доменах вашей надстройке должно быть разрешено переходить. Как отмечалось в разделе Указание доменов, которые нужно открыть в окне надстройки, при запуске в Office в Интернете область задач можно перейти по любому URL-адресу. Однако на классических платформах, если надстройка пытается перейти по URL-адресу в домене, отличном от домена, в котором размещена начальная страница (как указано в элементе SourceLocation ), этот URL-адрес открывается в новом окне браузера за пределами области надстройки приложения Office.

Чтобы переопределить это поведение (классический Office), добавьте каждый домен, который нужно открыть, в окне надстройки в список доменов, указанных в элементе <AppDomains> . URL-адреса в доменах из списка будут открываться в области задач как в классическом Office, так и в Office в Интернете. Если он пытается перейти по URL-адресу, который отсутствует в списке, то в классическом Office этот URL-адрес откроется в новом окне браузера (за пределами области надстройки).

В следующей таблице описано поведение браузера при попытке перехода по URL-адресу за пределами стандартного домена надстройки.

клиент Office; Домен, определенный в appDomains? Поведение браузера
Все клиенты Да Ссылка откроется в области задач надстройки.
Office 2016 в Windows (корпоративный бессрочный) Нет Ссылка откроется в Internet Explorer 11.
Другие клиенты Нет Ссылка откроется в браузере пользователя, используемом по умолчанию.

В следующем примере XML-манифеста main страница надстройки размещается в доменеhttps://www.contoso.com, как указано в элементе< SourceLocation>. Он также указывает https://www.northwindtraders.com домен в элементе AppDomain в списке <элементов AppDomains> . Страница в домене www.northwindtraders.com будет открываться в области надстроек даже в классической версии Office.

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

Переопределение версии в манифесте

Необязательный элемент VersionOverrides содержит дочернюю разметку, которая включает дополнительные функции надстройки. Вот некоторые из этих функций:

  • Настройка ленты и меню Office.
  • Настройка работы Office со встроенными средами выполнения, в которых выполняются надстройки.
  • Настройка взаимодействия надстройки с Azure Active Directory и Microsoft Graph для единого входа в систему.

Некоторые дочерние элементы VersionOverrides имеют значения, переопределяющие значения родительского OfficeApp элемента. Например, элемент Hosts в VersionOverrides переопределяет элемент Hosts в OfficeApp.

Элемент VersionOverrides имеет собственную схему, точнее — четыре схемы, в зависимости от типа надстройки и используемых функций. Вот эти схемы:

Когда используется элемент VersionOverrides, элемент OfficeApp должен иметь атрибут xmlns, который определяет соответствующую схему. Возможные значения атрибута:

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

Сам элемент VersionOverrides также должен иметь атрибут xmlns, определяющий схему. Возможные значения: три, приведенные выше, а также следующие:

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

Элемент VersionOverrides также должен иметь атрибут xsi:type, который определяет версию схемы. Возможные значения:

  • VersionOverridesV1_0
  • VersionOverridesV1_1

Ниже приводятся примеры использования VersionOverrides в надстройке области задач и в надстройке почты соответственно. Обратите внимание, что когда используется почта VersionOverrides с версией 1.1, она должна быть последним дочерним элементом родительского элемента VersionOverrides типа 1.0. Значения дочерних элементов во внутреннем VersionOverrides переопределяют значения одноименных элементов в родительском вложении VersionOverrides и прародительском OfficeApp элементе.

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

Пример манифеста, включающего элемент VersionOverrides, см. в примерах и схемах XML-файлов Манифеста версии 1.1.

Требования

Элемент <Requirements> задает набор API, доступных надстройке. Подробные сведения о наборах требований см. в статье Доступность наборов обязательных наборов Office. Например, в надстройке Outlook обязательный набор должен быть Почтовый ящик и значение 1.1 или выше.

Элемент <Requirements> также может отображаться в элементе <VersionOverrides> , что позволяет надстройке указывать другое требование при загрузке в клиентах, поддерживающих <VersionOverrides>.

В следующем примере атрибут DefaultMinVersion элемента Sets> используется для требования office.js версии 1.1 или более поздней, а атрибут MinVersion элемента Set — для требования набора обязательных почтовых ящиков версии 1.1.<<>

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

Локализация

Некоторые элементы надстройки (например, имя, описание и загружаемый URL-адрес) необходимо локализовать для разных языковых стандартов. Эти элементы можно легко локализовать, указав значение по умолчанию, а затем переопределить языковые стандарты в элементе <Resources> в элементе< VersionOverrides>. Ниже показано, как переопределить изображение, URL-адрес и строку.

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

Ссылка на схему содержит полную информацию о том, какие элементы можно локализовать.

XML-файлы манифеста версии 1.1: примеры и схемы

В следующих разделах показаны примеры XML-файлов манифеста версии 1.1 для надстроек содержимого, области задач и почты (Outlook).

Схемы манифестов надстроек

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

Проверка манифеста надстройки Office

Сведения о проверке манифеста с помощью определения схемы XML (XSD) см. в статье Проверка манифеста надстройки Office.

См. также