调试后台进程

调试过程涉及 .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 Teams 工具包在调试过程中检查以下先决条件:

  • Teams 工具包检查是否已安装 Node.js。 如果未安装 Node.js,调试将终止。

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

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

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

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

    注意

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

  • 如果Azure Functions Core Tools 版本 4 未安装或版本不符合要求,Teams 工具包会在 中~/.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 或版本不符合要求,Teams 工具包会在 中安装适用于 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 的开发证书,Teams 工具包会提示你安装它。

  • 如果未安装Azure Functions绑定扩展,Teams 工具包会在 中api/extensions.csproj安装Azure Functions绑定扩展。

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

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

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

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

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

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

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

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

启动本地隧道

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

创建调试资源

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

生成项目

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

浏览你的应用源代码

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

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

有关项目文件夹结构的详细信息,请参阅 Teams 工具包项目

另请参阅