旁加载使用 Microsoft 365 统一清单 的加载项的过程因要使用的工具以及加载项项目的创建方式而异。
注意
使用统一清单的加载项可以在 Windows 版本 2304 (内部版本 16320.20000) 或更高版本的 Office 上旁加载。 Windows 上的旁加载也有旁加载到Office web 版的效果。 目前,无法在 Mac 或 iPad 上旁加载它。 如果你在 Mac 上工作,可以通过让 Microsoft 365 管理员在 Microsoft 365 管理 中心将外接程序部署为集成应用来测试加载项。
使用 Yeoman 生成器为 Office 加载项 (Yo Office) 旁加载加载项
通过 系统提示、bash shell 或终端使用旁加载中所述的过程。
使用 Microsoft 365 代理工具包旁加载
首先, 确保关闭要旁加载到的 Office 桌面应用程序。
在 Visual Studio Code中,打开“代理工具包”。
仅适用于 Outlook:在 “帐户 ”部分中,验证是否已登录到 Microsoft 365。
选择“查看 | Visual Studio Code中的运行”。 在 “运行和调试 ”下拉菜单中,根据加载项选择其中一个选项。
- Excel Desktop (Edge Chromium)
- Outlook Desktop (Edge Chromium)
- PowerPoint Desktop (Edge Chromium)
- Word桌面 (Edge Chromium)
按 F5。 项目生成并打开节点开发服务器窗口。 此过程可能需要几分钟时间,然后打开所选 Office 应用程序的桌面版本。 现在可以使用加载项。 对于 Outlook 加载项,请确保在 Microsoft 365 帐户标识的收件箱中工作。
若要停止调试并卸载加载项,请选择“在Visual Studio Code中运行 | 停止调试”。 关闭服务器窗口不会可靠地停止服务器,关闭 Office 应用程序不会可靠地导致 Office 取消获取加载项。
注意
如果前面的步骤似乎不起作用,请在 Visual Studio Code 中打开终端来卸载加载项,然后使用系统提示、bash shell 或终端完成旁加载部分的卸载步骤(最后一个步骤)。
使用系统提示、bash shell 或终端的旁加载
- 首先, 确保要旁加载到的 Office 桌面应用程序已关闭。
- 打开系统提示符、bash shell 或 Visual Studio Code 终端,并导航到项目的根目录。
- 旁加载加载项的命令取决于项目的创建时间。
"scripts"如果项目的 package.json 文件的节具有“start:desktop”脚本,则运行npm run start:desktop;否则运行npm run start。 项目生成并打开节点开发服务器窗口。 此过程可能需要几分钟时间,然后 Office 主机应用程序 (Excel、Outlook、PowerPoint 或桌面Word) 打开。 - 在某些版本的 Office 上,加载项可能无法完全激活。 例如,加载项的按钮可能不会显示在功能区上。 如果发生这种情况,请选择“主页”功能区上的“加载项”按钮。 在打开的浮出控件上,选择加载项。 这将完成安装。
- 现在可以使用加载项。
- 使用完加载项后,请确保运行 命令
npm run stop。 关闭服务器窗口不会可靠地停止服务器,关闭 Office 应用程序不会可靠地导致 Office 取消获取加载项。
旁加载其他 NodeJS 和 npm 项目
有两种工具可用于旁加载。
使用 Office-Addin-Debugging 工具旁加载
若要旁加载加载项,请运行以下命令。 此命令将清单的 属性中引用的
"icons"统一清单和两个图标图像文件放入 zip 文件,并将其旁加载到 Office 应用程序。 它还会在单独的 NodeJS 窗口中启动服务器,以在 localhost 上托管加载项文件。 有关此命令的更多详细信息,请参阅 Office-Addin-Debugging。npx office-addin-debugging start <relative-path-to-unified-manifest> desktop使用 office-addin-debugging 启动外接程序时, 始终使用以下命令停止会话。 关闭服务器窗口不会可靠地停止服务器,关闭 Office 应用程序不会可靠地导致 Office 取消获取加载项。
npx office-addin-debugging stop <relative-path-to-unified-manifest>
使用 Microsoft 365 代理工具包 CLI (命令行接口) 旁加载
创建 zip 包。 请参阅 手动创建外接程序包文件。
在项目的根目录中,打开命令提示符或 bash shell 并运行以下命令以安装 Agents Toolkit CLI。
npm install -g @microsoft/m365agentstoolkit-cli运行以下命令以旁加载加载项。
atk install --file-path <relative-path-to-zip-file>重要
此命令返回有关加载项的一些信息,包括自动生成的游戏 ID,如以下示例所示。
你将需要此游戏 ID 来结束旁加载和调试会话。 它记录在 Windows 计算机上的以下注册表项中:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Office\16.0\Wef\Developer\OutlookSideloadManifestPath\TitleId
由于历史原因,字符串“Outlook”位于密钥名称中,但它适用于随 Agents Toolkit CLI 一起安装的任何加载项。
仅记录随 CLI 一起安装的最新加载项。 如果在卸载与 CLI 一起安装的早期加载项之前,使用 CLI 旁加载加载项,则注册表中不会记录早期加载项的游戏 ID。 因此,建议同时将其保存在项目根目录中的文本文件中,并在 Mac 和 Windows 计算机上 TitleID.txt 命名该文件。
使用代理工具包 CLI 启动加载项时, 始终使用以下命令停止会话。 关闭服务器窗口不会可靠地停止服务器,关闭 Office 应用程序不会可靠地导致 Office 取消获取加载项。 将“{title ID}”替换为加载项的游戏 ID,包括“U_”前缀;例如 。
U_90d141c6-cf4f-40ee-b714-9df9ea593f39atk uninstall --mode title-id --title-id {title ID} --interactive false重要
命令的文档
uninstall介绍了使用加载项清单 ID 而不是标题 ID 的方法。 由于 CLI 调用的 API 中的 bug,此选项当前不起作用。 必须使用uninstall上面提供的 命令,并且必须包含--interactive false选项。
通过 Teams 应用商店旁加载
使用统一清单的加载项可以通过 Teams 应用商店手动旁加载,即使它们没有与 Teams 相关的功能。 步骤如下。
如果尚未由工具创建应用包,请手动创建应用包。 请参阅 手动创建外接程序包文件。
关闭所有 Office 应用程序,然后按照手动清除缓存中的说明 清除 Office 缓存。
打开 Teams,从 应用 栏中选择“应用”,然后选择 “应用 ”窗格底部的“管理 应用 ”。
在“应用”对话框中选择“上传应用”,然后在打开的对话框中,选择“上传自定义应用”。
在“ 打开 ”对话框中,导航到应用包并选择应用包。
在打开的对话框中选择“ 添加 ”。
当系统提示你添加应用时, 请不要 在 Teams 中打开它。 相反,请关闭 Teams。
下一个任务是启动托管项目的 HTML 和 JavaScript 文件的本地 Web 服务器。 如何执行此作取决于多个因素,包括项目的文件夹结构、使用的工具(如捆绑包、任务管理器、服务器应用程序)以及配置这些工具的方式。 以下说明仅适用于满足以下条件的项目。
项目的根目录中有一个 webpack.config.js 文件,该文件类似于使用 Yeoman Generator for Office 外接程序 或 Microsoft 365 代理工具包创建的外接程序项目中的文件。
项目的根目录中有一个 package.json 文件,与同一两个工具创建的类似,并且该文件包含一个“脚本”部分,其中包含以下脚本。
"dev-server": "webpack serve --mode development"
在命令提示符或项目根目录中Visual Studio Code终端中,运行
npm run dev-server以在 localhost 上启动服务器。打开外接程序面向的 Office 应用程序。 等待加载项加载。 这可能需要多达两分钟的时间。 根据 Office 版本,功能区按钮和其他项目可能会自动显示。 在某些版本中,需要手动激活加载项:选择“主页”功能区上的“加载项”按钮,然后在打开的浮出控件中选择加载项。 它将具有清单的 属性中指定的
"name.short"名称。
重要
如果要结束测试会话并更改通过 Teams 应用商店旁加载的加载项,请确保使用以下步骤完全删除加载项。
- 关闭 Office 应用程序。
- 关闭服务器。 有关如何执行此作,请参阅服务器应用程序的文档。 对于 Webpack dev-server 应用程序,将其关闭取决于服务器是在你运行的同一窗口中运行的,还是在不同的窗口中运行
npm run dev-server。 如果窗口相同,请为终端提供焦点,然后按 Ctrl+C。 选择“Y”以响应结束进程的提示。 如果它位于其他窗口中,则在运行npm run dev-server的窗口中运行npm run stop。 - 按照手动清除缓存中的说明 清除 Office 缓存。
- 打开 Teams,从 应用 栏中选择“应用”,然后选择 “应用 ”窗格底部的“管理 应用 ”。
- 在应用列表中查找加载项。 它将具有清单的 属性中指定的
"name.short"名称。 - 从应用列表中选择加载项以展开其行。
- 选择回收站图标,然后在提示符中选择 “删除 ”。
进行更改,然后再次旁加载加载项。
手动创建外接程序包文件
使用统一清单时,安装和旁加载单元是 zip 格式的包文件。 此文件通常由用于创建和测试加载项的工具创建,但在某些情况下,可以手动创建它。 为此,请使用任何 zip 实用工具创建包含以下文件的 zip 文件。
- 统一清单,位于 zip 文件的根目录中。
- 清单的 属性中
"icons"引用的两个图像文件。 - 清单的 属性中
"localizationInfo"引用的任何本地化文件。 - 属性中
"copilotAgents"引用的任何声明性代理文件。 - 任何第二级补充文件。 例如,声明性代理配置文件有时引用第二级补充文件,例如插件配置文件。 还应包括这些内容。
重要
所有这些文件在 zip 文件中的相对路径必须与清单中指定的路径相同。 例如,如果两个图像文件的路径是 assets/icon-64.png 和 assets/icon-128.png,则必须在 zip 包中包含包含这两个文件的 assets 文件夹。 第二级文件(例如声明性代理的插件配置文件)在 zip 文件中的相对路径必须与在引用它们的第一级文件中具有相同的相对路径。 例如,如果清单中指定的声明性代理文件的相对路径是 agents/myAgent.json,则必须在 zip 包中包含 代理 文件夹,并将 myAgent.json 文件放入其中。 如果声明性代理文件反过来为插件配置文件提供插件/myPlugin.json的相对路径,则必须在 agents 文件夹下包含插件子文件夹,并将 myPlugin.json 文件放入其中。
为了最大程度地提高与 Microsoft 365 开发工具的兼容性,建议将包中包含的文件保存在项目根目录中名为 appPackage 的文件夹中,并将包文件放在 appPackage 文件夹中名为 build 的子文件夹中。
下面是建议结构的示例。 \build\appPackage.zip 文件中的结构必须镜像 appPackage 文件夹的结构,生成文件夹本身除外。
\appPackage
\assets
color.png
outline.png
\build
appPackage.zip
manifest.json
\appPackage
\agents
myAgent.json
\plugins
myPlugin.json
\assets
color.png
outline.png
\build
appPackage.zip
\languages
fr-FR.json
es-MX.json
manifest.json