Depurar procesos en segundo plano

El proceso de depuración implica los .vscode/launch.json archivos y .vscode/tasks.json para configurar los depuradores en Microsoft Visual Studio Code. Visual Studio Code inicia el depurador de Node y el depurador del explorador, y Microsoft Edge o Google Chrome inicia una nueva instancia del explorador.

El flujo de trabajo del proceso de depuración es el siguiente:

  1. launch.jsonfile configura el depurador en Visual Studio Code.

  2. Visual Studio Code ejecuta el elemento compuesto preLaunchTask, Iniciar la aplicación teams localmente en el .vscode/tasks.json archivo.

  3. Visual Studio Code inicia los depuradores especificados en las configuraciones compuestas, como Attach to Bot, Attach to Backend, Attach to Frontend y Launch Bot.

  4. El depurador del explorador, Microsoft Edge o Google Chrome, inicia una nueva instancia del explorador y abre una página web para cargar el cliente de Microsoft Teams.

Validación de requisitos previos

Microsoft Teams Toolkit comprueba los siguientes requisitos previos durante el proceso de depuración:

  • Teams Toolkit comprueba si Node.js está instalado. Si Node.js no está instalado, la depuración finaliza.

  • Teams Toolkit comprueba si Node.js versión coincide con las versiones definidas en package.json el archivo. Si la versión no coincide, Teams Toolkit muestra un mensaje de advertencia en el canal de salida.

  • Teams Toolkit le pide que inicie sesión en la cuenta de Microsoft 365 si no ha iniciado sesión con sus credenciales válidas.

  • La carga de aplicaciones personalizada para el inquilino para desarrolladores está activada para evitar la terminación de depuración local.

  • Si Ngrok no está instalado o la versión no coincide con el requisito, Teams Toolkit instala el paquete ngrok@4.2.2 npm de Ngrok en ~/.fx/bin/ngrok. La versión binaria 2.3 de Ngrok es aplicable para la extensión de bot y mensaje y se administra mediante el paquete npm de Ngrok en /.fx/bin/ngrok/node modules/ngrok/bin.

    Nota:

    Las plantillas de proyecto del kit de herramientas de Teams usan el paquete npm ngrok@4.3.3, que contiene la versión 2.3.40. Para obtener más información sobre cómo obtener una licencia válida, consulte ngrok.

  • Si Azure Functions versión 4 de Core Tools no está instalada o la versión no coincide con el requisito, Teams Toolkit instala Azure Functions paquete azure-functions-core-tools@3 npm de Core Tools para Windows y macOS en ~/.fx/bin/func. El paquete npm de Azure Functions Core Tools en ~/.fx/bin/func/node_modules/azure-functions-core-tools/bin administra Azure Functions binario de Core Tools. Para Linux, finaliza la depuración local.

  • Si el SDK de .NET Core no está instalado o la versión no coincide con el requisito, Teams Toolkit instala el SDK de .NET Core para Windows y macOS en ~/.fx/bin/dotnet. La versión del SDK de .NET Core es aplicable a Azure Functions. Para Linux, finaliza la depuración local.

    En la tabla siguiente se enumeran las versiones de .NET Core:

    Plataforma Software
    Windows, macOS (x64) y Linux 3.1 (Recomendado), 5.0, 6-0
    macOS (arm64) 6.0
  • Si el certificado de desarrollo para localhost no está instalado para la pestaña en Windows o macOS, el kit de herramientas de Teams le pedirá que lo instale.

  • Si Azure Functions extensiones de enlace no están instaladas, teams Toolkit instala Azure Functions extensiones de enlace en api/extensions.csproj.

  • Si los paquetes npm no están instalados, teams Toolkit instala todos los paquetes npm aplicables a la aplicación de tabulación, la aplicación de bot, la extensión de mensaje y Azure Functions.

  • Teams Toolkit inicia Ngrok para crear un túnel HTTP para bot y extensión de mensaje.

  • Si los puertos tab, bot, message extension y Azure Functions no están disponibles, la depuración local finaliza.

    En la tabla siguiente se enumeran los puertos disponibles para los componentes:

    Componente Puerto
    Tab 53000
    Bot o extensión de mensaje 3978
    Inspector de nodo para bot o extensión de mensaje 9239
    Azure Functions 7071
    Inspector de nodo para Azure Functions 9229

Al seleccionar Iniciar depuración (F5), el canal de salida del kit de herramientas de Teams muestra el progreso y el resultado después de comprobar los requisitos previos.

Captura de pantalla que muestra el resumen de comprobación de requisitos previos.

Para obtener más información, vea validar la tarea de requisitos previos.

Inicio del túnel local

Para la extensión de bot y mensaje, Teams Toolkit inicia un servicio de túnel local para que el punto de conexión de mensajería del bot sea público. Para obtener más información, consulte Iniciar la tarea de túnel local.

Creación de los recursos de depuración

El kit de herramientas de Teams ejecuta el ciclo de vida provision definido en teamsapp.local.yml para crear los recursos relacionados con aplicaciones de Teams necesarios para la depuración. Para obtener más información, consulte Aprovisionamiento de tareas y acciones disponibles.

Compilar proyecto

El kit de herramientas de Teams ejecuta el ciclo de vida deploy definido en teamsapp.local.yml para compilar el proyecto. Para obtener más información, vea Implementar tareas y acciones disponibles.

Realice un paseo por el código fuente de la aplicación

Puede ver las carpetas y los archivos del proyecto en el Explorador en Visual Studio Code después de la depuración. En la tabla siguiente se enumeran los archivos relacionados con la depuración:

Nombre de la carpeta Contenido Tipo de configuración de depuración
teamsapp.local.yml El archivo de proyecto principal del kit de herramientas de Teams para la depuración. Este archivo define los ciclos de vida y las acciones necesarias para la depuración.
env/.env.local Archivo de variables de entorno para el proyecto del kit de herramientas de Teams. Los valores de cada variable de entorno se consumen o generan durante la depuración.
.localConfigs Archivo de variables de entorno para el código de la aplicación. Los valores de cada variable de entorno se generan durante la depuración.

Para obtener más información sobre la estructura de carpetas del proyecto, consulte Proyecto del kit de herramientas de Teams.

Vea también