调试后台进程

调试过程涉及 .vscode/launch.json.vscode/tasks.json 文件来配置 Microsoft Visual Studio Code 中的调试器。 Visual Studio Code启动 Node 调试器和浏览器调试器,Microsoft Edge 或 Google Chrome 启动新的浏览器实例。

调试过程工作流如下所示:

  1. launch.jsonfile 在 Visual Studio Code 中配置调试器。

  2. Visual Studio Code在 文件中运行复合 preLaunchTask即在本地.vscode/tasks.json启动 Teams 应用。

  3. 然后,Visual Studio Code 启动复合配置中指定的调试器,例如附加到到自动程序附加到后端附加到前段启动自动程序

  4. 浏览器调试器(Microsoft Edge 或 Google Chrome)启动新的浏览器实例并打开网页以加载Microsoft Teams 客户端。

验证先决条件

在调试过程中,Microsoft检查以下先决条件:

  • Microsoft 365 代理工具包 (以前称为 Teams 工具包,) 检查是否安装了 Node.js。 如果未安装 Node.js,调试将终止。

  • 代理工具包检查 Node.js 版本是否与文件中 package.json 定义的版本匹配。 如果版本不匹配,则代理工具包在输出通道中显示警告消息。

  • 如果尚未使用有效凭据登录,代理工具包会提示登录到 Microsoft 365 帐户。

  • 已启用开发人员租户的自定义应用上传,以防止本地调试终止。

  • 如果未安装 Ngrok 或版本不符合要求,代理工具包会在 中~/.fx/bin/ngrok安装 Ngrok npm 包ngrok@4.2.2。 Ngrok 二进制版本 2.3 适用于机器人和消息扩展,由 中的 /.fx/bin/ngrok/node modules/ngrok/binNgrok npm 包管理。

    注意

    代理工具包项目模板使用包含 v2.3.40 的 ngrok@4.3.3 npm 包。 有关如何获取有效许可证的详细信息,请参阅 ngrok

  • 如果 Azure Functions Core Tools 版本 4 未安装或版本不符合要求,代理工具包会在 中~/.fx/bin/func安装适用于 Windows 和 macOS Azure Functions Core Tools npm 包azure-functions-core-tools@3。 中的 ~/.fx/bin/func/node_modules/azure-functions-core-tools/bin Azure Functions Core Tools npm 包管理Azure Functions Core Tools 二进制文件。 对于 Linux,本地调试终止。

  • 如果未安装 .NET Core SDK 或版本不符合要求,代理工具包会在 中安装适用于 Windows 和 macOS 的 ~/.fx/bin/dotnet.NET Core SDK。 .NET Core SDK 版本适用于Azure Functions。 对于 Linux,本地调试终止。

    下表列出了 .NET Core 版本:

    平台 软件
    Windows、macO (x64) 和 Linux 3.1(推荐), 5.0, 6.0
    macOS (arm64) 6.0
  • 如果未为 Windows 或 macOS 中的选项卡安装 localhost 的开发证书,则代理工具包会提示你安装它。

  • 如果未安装Azure Functions绑定扩展,则 Agents Toolkit 会在 中api/extensions.csproj安装Azure Functions绑定扩展。

  • 如果未安装 npm 包,则 Agents Toolkit 将安装所有适用于选项卡应用、机器人应用、消息扩展和Azure Functions的 npm 包。

  • 代理工具包启动 Ngrok,为机器人和消息扩展创建 HTTP 隧道。

  • 如果选项卡、机器人、消息扩展和Azure Functions端口不可用,则本地调试将终止。

    下表列出了可用于组件的端口:

    组件 端口
    Tab 53000
    自动程序或消息扩展 3978
    自动程序或消息扩展的节点检查器 9239
    Azure Functions 7071
    用于 Azure Functions 的节点检查器 9229

选择“ 开始调试” (F5) 时,代理工具包输出通道会在检查先决条件后显示进度和结果。

屏幕截图显示了先决条件检查摘要。

有关详细信息,请参阅 验证先决条件任务

启动本地隧道

对于机器人和消息扩展,Agents Toolkit 会启动本地隧道服务,使机器人消息传送终结点公开。 有关详细信息,请参阅 启动本地隧道任务

创建调试资源

代理工具包执行中m365agents.local.yml定义的生命周期provision,以创建调试所需的 Teams 应用相关资源。 有关详细信息,请参阅 预配任务可用作

生成项目

Agents Toolkit 执行中m365agents.local.yml定义的生命周期deploy来生成项目。 有关详细信息,请参阅 部署任务可用作

浏览你的应用源代码

调试后,可以在“资源管理器”下查看项目文件夹和文件,Visual Studio Code。 下表列出了与调试相关的文件:

文件夹名 目录 调试配置类型
m365agents.local.yml 用于调试的 main Agents Toolkit 项目文件。 此文件定义调试所需的生命周期和作。
env/.env.local 代理工具包项目的环境变量文件。 调试期间会使用或生成每个环境变量的值。
.localConfigs 应用代码的环境变量文件。 调试期间会生成每个环境变量的值。

有关项目文件夹结构的详细信息,请参阅 Agents Toolkit 项目

另请参阅