Suplementos do Office com o manifesto apenas de suplemento

Este artigo apresenta o manifesto somente do suplemento formatado em XML para Suplementos do Office. Ele pressupõe que você esteja familiarizado com o manifesto dos Suplementos do Office.

Dica

Para obter uma visão geral do manifesto unificado para Microsoft 365, consulte Suplementos do Office com o manifesto unificado para Microsoft 365.

Versões de esquema

Nem todos os clientes do Office são compatíveis com os recursos mais recentes, e alguns usuários do Office terão uma versão mais antiga do Office. Ter versões do esquema permite que os desenvolvedores compilem suplementos compatíveis com versões anteriores, usando os recursos mais recentes quando estiverem disponíveis, mas ainda funcionando em versões mais antigas.

O elemento <VersionOverrides> no manifesto é um exemplo disso. Todos os elementos definidos dentro de <VersionOverrides> substituirão o mesmo elemento na outra parte do manifesto. Isso significa que, sempre que possível, o Office usará o <VersionOverrides> que está na seção para configurar o suplemento. No entanto, se a versão do Office não for compatível com uma determinada versão <VersionOverrides>, o Office a ignorará e dependerá das informações no restante do manifesto.

Com essa abordagem, os desenvolvedores não precisam criar vários manifestos individuais e podem, em vez disso, manter tudo definido em um único arquivo.

As versões atuais do esquema são:

Versão Descrição
v1.0 Compatível com a versão 1.0 da API JavaScript do Office. Por exemplo, em suplementos do Outlook, isso dá suporte ao formulário de leitura.
v1.1 Dá suporte à versão 1.1 da API JavaScript do Office e <VersionOverrides>. Por exemplo, em suplementos do Outlook, isso adiciona suporte para o formulário de redação.
<VersionOverrides> 1.0 Dá suporte a versões posteriores da API JavaScript do Office. Oferece suporte aos comandos de suplemento.
<VersionOverrides> 1.1 Com suporte apenas no Outlook. Essa versão adiciona suporte para recursos mais recentes, como painéis de <VersionOverrides>tarefas fixáveis e suplementos móveis.

Mesmo que seu manifesto de suplemento use o elemento <VersionOverrides>, ainda é importante incluir os elementos do manifesto da versão 1.1 para permitir que seu suplemento funcione com clientes mais antigos que não oferecem suporte a <VersionOverrides>.

Observação

O Office usa um esquema para validar manifestos. O esquema requer que os elementos no manifesto apareçam em uma ordem específica. Se você incluir os elementos fora da ordem exigida, você poderá obter erros quando realizar o sideload de seu suplemento. Consulte Como encontrar a ordem adequada dos elementos de manifesto na ordem necessária.

Elementos exigidos

A tabela a seguir especifica os elementos exigidos para os três tipos de Suplementos do Office.

Observação

Também há uma ordem obrigatória na qual os elementos devem aparecer dentro de seu elemento-pai. Para obter mais informações , consulte Como encontrar a ordem correta dos elementos de manifesto somente do suplemento.

Elementos obrigatórios de acordo com o tipo de Suplemento do Office

Elemento Conteúdo Painel de tarefas Email
(Outlook)
OfficeApp Obrigatório Obrigatório Obrigatório
Id Obrigatório Obrigatório Obrigatório
Versão Obrigatório Obrigatório Obrigatório
ProviderName Obrigatório Obrigatório Obrigatório
DefaultLocale Obrigatório Obrigatório Obrigatório
DisplayName Obrigatório Obrigatório Obrigatório
Description Obrigatório Obrigatório Obrigatório
SupportUrl** Obrigatório Obrigatório Obrigatório
DefaultSettings (ContentApp)
DefaultSettings (TaskPaneApp)
Obrigatório Obrigatório Não disponível
SourceLocation (ContentApp)
SourceLocation (TaskPaneApp)
SourceLocation (MailApp)
Obrigatório Obrigatório Obrigatório
DesktopSettings Não disponível Não disponível Obrigatório
Permissões (ContentApp)
Permissões (TaskPaneApp)
Permissões (MailApp)
Obrigatório Obrigatório Obrigatório
Regra (RuleCollection)
Regra (MailApp)
Não disponível Não disponível Obrigatório
Requisitos (MailApp)* Não aplicável Não disponível Obrigatório
Conjuntos*
Conjuntos (Requisitos)*
Conjuntos (MailAppRequirements)*
Obrigatório Obrigatório Obrigatório
Formulário*
FormSettings*
Não disponível Não disponível Obrigatório
Hosts* Obrigatório Obrigatório Opcional

*Adicionado ao Esquema de Manifesto do Suplemento do Office versão 1.1.

** SupportUrl só é necessário para suplementos distribuídos por meio do Microsoft Marketplace.

Elemento root

O elemento raiz do manifesto do Suplemento do Office é <OfficeApp>. Esse elemento também declara o namespace padrão, a versão do esquema e o tipo de suplemento. Coloque todos os outros elementos no manifesto dentro de suas marcas de abertura e fechamento. A seguir está um exemplo do elemento root.

<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

Esta é a versão do suplemento específico. Se um desenvolvedor atualiza algo no manifesto, a versão deve ser incrementada também. Dessa forma, quando o novo manifesto é instalado, ele substitui o existente, e o usuário recebe a nova funcionalidade. Se esse suplemento foi enviado para o repositório, o novo manifesto precisa ser re-enviado e revalidado. Em seguida, usuários desse suplemento obterão o novo manifesto atualizado automaticamente em algumas horas, depois da aprovação.

Se as permissões solicitadas do suplemento mudarem, os usuários serão solicitados a atualizar e novamente concordar com o suplemento. Se o administrador tiver instalado esse suplemento para toda a organização, o administrador precisará primeiro concordar novamente. Os usuários não poderão usar o suplemento até que o consentimento seja concedido.

Hosts

Os suplementos do Office especificam o <Hosts> elemento da seguinte forma:

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

Isso é separado do <Hosts> elemento dentro do elemento, que é discutido em Criar comandos de suplemento com o manifesto somente do suplemento<VersionOverrides>.

Especificar domínios seguros com o elemento AppDomains

Há um elemento AppDomains do arquivo de manifesto somente do suplemento que é usado para informar ao Office para quais domínios seu suplemento deve ter permissão para navegar. Conforme observado em Especificar domínios que você deseja abrir na janela do suplemento, ao executar no Office na Web, seu painel de tarefas pode ser navegado para qualquer URL. No entanto, em plataformas de área de trabalho, se o suplemento tentar acessar uma URL em um domínio diferente daquele que hospeda a página inicial (conforme especificado no elemento SourceLocation ), essa URL será aberta em uma nova janela do navegador fora do painel de suplementos do aplicativo do Office.

Para substituir esse comportamento (Office da área de trabalho), adicione cada domínio que você deseja abrir na janela do suplemento na lista de domínios especificados no <AppDomains> elemento. Se o suplemento tentar ir para uma URL em um domínio que está na lista, ela então abre no painel de tarefas do Office para desktop e no Office Online. Se ele tentar ir para uma URL que não está na lista, no Office para área de trabalho, essa URL será aberta em uma nova janela do navegador (fora do painel do suplemento).

A tabela a seguir descreve o comportamento do navegador quando o seu suplemento tenta navegar para uma URL fora do domínio padrão do suplemento.

Domínio definido em AppDomains? Comportamento do navegador
Sim O link é aberto no painel de tarefas do suplemento.
Não O link é aberto no navegador padrão do usuário.

O exemplo de manifesto somente do suplemento a seguir hospeda sua página de suplemento principal no domínio, https://www.contoso.com conforme especificado no <SourceLocation> elemento. Ele também especifica o domínio https://www.northwindtraders.com em um elemento AppDomain dentro da lista de elementos <AppDomains>. Se o suplemento acessar uma página no www.northwindtraders.comdomínio, essa página abre no painel do suplemento, mesmo na área de trabalho do 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>

Substituições de versão no manifesto

O elemento opcional VersionOverrides contém marcação filho que habilita recursos de suplemento adicionais. Alguns deles são:

  • Personalizando a faixa de opções do Office e os menus.
  • Personalizando como o Office funciona com os runtimes inseridos nos quais os suplementos são executados.
  • Configurar como o suplemento interage com o Microsoft Entra ID e o Microsoft Graph para logon único.

Alguns elementos descendentes de VersionOverrides têm valores que substituem os valores do elemento pai OfficeApp. Por exemplo, o elemento Hosts em VersionOverrides substitui o elemento Hosts em OfficeApp.

O elemento VersionOverrides tem seu próprio esquema, na verdade quatro deles, dependendo do tipo de ação e dos recursos que utiliza. Os esquemas são:

Quando um elemento VersionOverrides é utilizado, então o elemento OfficeApp deve ter um atributo xmlns que identifica o esquema apropriado. Os possíveis valores do atributo são os seguintes:

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

O elemento VersionOverrides em si também deve ter um atributo xmlns especificando o esquema. Os possíveis valores são os três acima e os seguintes:

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

O elemento VersionOverrides também deve ter um atributo xsi:type que especifica a versão do esquema. Os valores possíveis são os seguintes:

  • VersionOverridesV1_0
  • VersionOverridesV1_1

A seguir estão alguns exemplos de VersionOverridesutilizados, respectivamente, em um suplemento do painel de tarefas e em um suplemento de email. Observe que quando um email VersionOverrides com a versão 1.1 é usado, ele deve ser o último filho de um pai VersionOverrides do tipo 1.0. Os valores dos elementos filho no interior de VersionOverrides substituem os valores dos elementos do mesmo nome no elemento pai VersionOverrides e do elemento avô 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>

Para obter um exemplo de um manifesto que inclui um elemento VersionOverrides, consulte Exemplos e esquemas do arquivo XML de manifesto v1.1.

Requisitos

O elemento <Requirements> especifica o conjunto de APIs disponível para o suplemento. Para obter informações detalhadas sobre os conjuntos de requisitos, consulte Disponibilidade dos conjuntos de requisitos do Office. Por exemplo, em um suplemento do Outlook, o conjunto de requisitos deve ser Caixa de Correio e um valor de 1,1 ou superior.

O elemento <Requirements> também pode aparecer no elemento <VersionOverrides>, permitindo que o suplemento especifique um requisito diferente quando carregado em clientes que dão suporte a <VersionOverrides>.

O exemplo a seguir usa o atributo DefaultMinVersion do elemento <Sets> para exigir o office.js versão 1.1 ou superior e o atributo MinVersion do elemento <Set> para exigir o conjunto de requisitos de Caixa de Correio versão 1.1.

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

Localização

Alguns aspectos do suplemento precisam ser localizados para localidades diferentes, como nome, descrição e a URL que é carregada. Esses elementos podem ser localizados facilmente especificando o valor padrão e, em seguida, a localidade substitui no elemento <Resources> dentro do elemento <VersionOverrides>. O exemplo a seguir mostra como substituir uma imagem, uma URL e uma cadeia de caracteres.

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

A referência de esquema contém informações completas sobre quais elementos podem ser localizados.

Exemplos e esquemas do arquivo XML de manifesto v1.1

As seções a seguir mostram exemplos de arquivos XML de manifesto v1.1 para conteúdo, painel de tarefas e suplementos de email (Outlook).

Esquemas de manifesto de suplemento

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

Validar o manifesto de suplemento do Office

Para saber mais sobre como validar um manifesto em relação à Definição do Esquema XML (XSD), confira Validar o manifesto de suplemento do Office.

Confira também