将 XML 清单与 Microsoft 365 的统一清单进行比较

本文旨在帮助熟悉 XML 清单的读者通过比较这两者来了解统一清单。 读者还应看到 具有 Microsoft 365 (预览版统一清单) 的 Office 加载项

注意

统一清单是 Office 加载项的预览功能,仅支持 Windows 版 Outlook。

架构和常规点

预览版统一清单只有一个架构,而当前 XML 清单总共有 7 个架构

预览版统一和当前 XML 清单的概念映射

本部分介绍熟悉当前 XML 清单的读者的预览版统一清单。 需要记住的一些要点:

  • 统一清单采用 JSON 格式。

  • JSON 不像 XML 那样区分属性值和元素值。 通常,映射到 XML 元素的 JSON 使元素值和每个属性都成为子属性。 下面的示例演示了一些 XML 标记及其等效的 JSON。

    <MyThing color="blue">Some text</MyThing>
    
    "myThing" : {
        "color": "blue",
        "text": "Some text"
    }
    
  • 在当前 XML 清单中有许多位置,具有复数名称的元素具有同名的单一版本的子级。 例如,用于配置自定义菜单的标记包括一个 <Items> 元素,该元素可以有多个 <Item> 元素子元素。 这些复数元素的 JSON 等效项是具有数组作为其值的属性。 数组的成员是 匿名 对象,而不是名为“item”或“item1”、“item2”等的属性。下面为一个示例。

    "items": [
        {
            -- markup for a menu item is here --
        },
        {
            -- markup for another menu item is here --
        }
    ]
    

顶级结构

预览统一清单的根级别(大致对应于 <当前 XML 清单中的 OfficeApp> 元素)是匿名对象。

OfficeApp> 的<子级通常分为两个名义类别。 <VersionOverrides> 元素是一个类别。 另一个包含 OfficeApp> 的所有其他子级<,这些子级统称为基本清单。 因此,预览版统一清单也有类似的划分。 有一个顶级“extensions”属性,其用途和子属性 <大致对应于 VersionOverrides> 元素。 预览版统一清单还具有 10 多个其他顶级属性,这些属性与 XML 清单的基本清单具有相同的目的。 可以将这些其他属性统一视为统一清单的基本清单。

基本清单

基本清单属性指定 任何类型的扩展 Microsoft 365 应具有的外接程序的特征。 这包括 Teams 选项卡和消息扩展,而不仅仅是 Office 加载项。这些特征包括公共名称和唯一 ID。 下表显示了预览版统一清单中的一些关键顶级属性与当前清单中的 XML 元素的映射,其中映射原则是标记 的用途

JSON 属性 用途 XML 元素 备注
"$schema" 标识清单架构。 <OfficeApp><VersionOverrides> 的属性 没有。
"id" 外接程序的 GUID。 <Id> 没有。
"version" 加载项的版本。 <版本> 没有。
"manifestVersion" 清单架构的版本。 OfficeApp> 的属性< 没有。
"name" 加载项的公共名称。 <DisplayName> 没有。
"description" 加载项的公共说明。 <说明> 没有。
"accentColor" 没有。 没有。 此属性在当前 XML 清单中没有等效项,并且不会在统一清单的预览中使用。 但它必须存在。
“developer” 标识加载项的开发人员。 <ProviderName> 没有。
"localizationInfo" 配置默认区域设置和其他受支持的区域设置。 <DefaultLocale><Override> 没有。
"webApplicationInfo" 标识加载项的 Web 应用,因为它在 Azure Active Directory 中是已知的。 <WebApplicationInfo> 在当前 XML 清单中<,WebApplicationInfo> 元素位于 VersionOverrides> 中<,而不是基本清单中。
"authorization" 标识加载项所需的任何 Microsoft Graph 权限。 <WebApplicationInfo> 在当前 XML 清单中<,WebApplicationInfo> 元素位于 VersionOverrides> 中<,而不是基本清单中。

Hosts<><Requirements><ExtendedOverrides> 元素是当前 XML 清单中基本清单的一部分。 但与这些元素关联的概念和目的是在预览统一清单的“扩展”属性中配置的。

“extensions”属性

预览版统一清单中的“extensions”属性主要表示外接程序的特征,这些特征与其他类型的 Microsoft 365 扩展无关。 例如,加载项扩展的 Office 应用程序 ((例如 Excel、PowerPoint、Word 和 Outlook) )在“extensions”属性中指定,Office 应用程序功能区的自定义项也指定。 “extensions”属性的配置目的与当前 XML 清单中 VersionOverrides> 元素的配置<目的非常匹配。

注意

当前 XML 清单的 VersionOverrides> 部分具有适用于许多字符串资源的“双跳转”系统。<VersionOverrides> 的<Resources> 子级中<指定并分配了字符串(包括 URL)。 需要字符串的元素具有residResources> 元素中<字符串的 ID 匹配的属性。 预览版统一清单的“extensions”属性通过将字符串直接定义为属性值来简化操作。 统一清单中没有与 Resources> 元素等效的<项。

下表显示了预览统一清单中“extensions”属性的某些高级子属性与当前清单中的 XML 元素的映射。 点表示法用于引用子属性。

JSON 属性 用途 XML 元素 备注
"requirements.capabilities" 标识加载项需要可安装 的要求集 。 加载项需要可安装。 <要求><集> 没有。
"requirements.scopes" 标识可在其中安装加载项的 Office 应用程序。 <Hosts> 没有。
"ribbons" 加载项自定义的功能区。 <Hosts>ExtensionPoints 和各种 FormFactor 元素 "ribbons" 属性是匿名对象的数组,每个对象合并这三个元素的目的。 请参阅 “功能区”表
"alternatives" 指定与等效的 COM 加载项、XLL 或两者的向后兼容性。 <EquivalentAddins> 请参阅 EquivalentAddins - 另请参阅 背景信息。
"runtimes" 配置外接程序使用的 嵌入式运行时 ,包括 UI 很少或没有 UI 的各种加载项,例如自定义仅函数加载项和 函数命令 <>运行时<CustomFunctions 类型的 FunctionFile><ExtensionPoint> () 没有。
"autoRunEvents" 配置指定事件的事件处理程序。 LaunchEvent) 类型的 ExtensionPoint> (< 没有。

"ribbons" 表

下表将 "ribbons" 数组中匿名子对象的子属性映射到当前清单中的 XML 元素。

JSON 属性 用途 XML 元素 备注
"contexts" 指定加载项自定义的命令图面。 各种 *CommandSurface 元素,如 PrimaryCommandSurfaceMessageReadCommandSurface 没有。
"tabs" 配置自定义功能区选项卡。 <CustomTab> “选项卡”的后代属性的名称和层次结构与 CustomTab> 的<后代密切相关。

有关完整示例统一清单,请参阅 示例预览统一清单

后续步骤