Ausführen und Debuggen Ihrer Microsoft Teams-AppRun and debug your Microsoft Teams app

Microsoft Teams-Apps können eine oder mehrere Funktionen enthalten, und die Möglichkeiten zum Ausführen oder sogar hosten können unterschiedlich sein.Microsoft Teams apps can contain one or more capabilities, and the ways to run or even host them may be different. Wenn es um das Debugging geht, haben wir im allgemeinen folgende Möglichkeiten, um Ihre Microsoft Teams-App auszuführen:When it comes to debugging, in general, we have the following ways to run your Microsoft Teams app:

  • Rein lokal für Bots können Sie Ihre Erfahrung im bot-Emulator testen.Purely local For bots, you can test your experience in the Bot Emulator. Für andere Inhalte können Sie lokal in Ihrem Browser ausführen und Inhalte über http://localhost.For other content, you can run locally in your browser and address content through http://localhost.
  • Lokal gehostet in Microsoft Teams umfasst dies das lokale Ausführen mit Tunneling-Software und das Erstellen eines Pakets , das in Teams hochgeladen werden soll.Locally hosted, in Teams This involves running locally with tunneling software and creating a package to upload into Teams. Auf diese Weise können Sie Ihre APP im Microsoft Teams-Client ganz einfach ausführen und Debuggen.This allows you to easily run and debug your app within the Teams client.
  • In Teams in der Cloud gehostet Dadurch wird die Unterstützung einer Teams-App auf Produktionsebene wirklich simuliert (oder ist dies auch).Cloud-hosted, in Teams This truly simulates (or is) production-level support for a Teams app. Es umfasst das Hochladen Ihrer Lösung auf Ihren extern zugänglichen Server oder Cloud-Anbieter Ihrer Wahl (Wir empfehlen natürlich Azure) und das Erstellen eines Pakets , das in Teams hochgeladen werden soll.It involves uploading your solution to your externally accessible server or cloud provider of choice (we recommend Azure, of course) and creating a package to upload into Teams.

Für rein lokale oder lokale Test Teams führen Sie die Benutzeroberfläche auf Ihrem eigenen Computer aus.For purely local or local Teams testing, you run the experience from your own computer. Auf diese Weise können Sie tatsächlich in Ihrer IDE kompilieren und ausführen und diese Techniken wie Haltepunkte und das schrittweise Debuggen vollständig nutzen.This allows you to actually compile and run within your IDE, and take full advantage of such techniques as breakpoints and step debugging. Für das Debuggen und Testen im Produktionsumfang empfehlen wir, dass Sie Ihre eigenen Unternehmensrichtlinien befolgen, um sicherzustellen, dass Sie Tests, Staging und Bereitstellung über eigene Prozesse unterstützen können.For production-scale debugging and testing, we recommend that you follow your own company guidelines to ensure you are able to support testing, staging, and deployment through your own processes.

Im Allgemeinen wird empfohlen, dass Sie mehrere Manifeste und Pakete verwenden, damit Sie die Trennung zwischen Produktions-und Entwicklungsdiensten aufrecht erhalten können.In general we recommend you use multiple manifests and packages to allow you to maintain separation between production and development services. Sie können beispielsweise getrennte Entwicklungs-und Produktions-Bots registrieren und entsprechende Pakete erstellen, um diese in Ihre Testumgebung hochzuladen.For example, you might choose to register separate development and production bots and create appropriate packages to upload them in your testing environment. Außerdem empfehlen wir Ihnen, Ihr Produktionspaket hochzuladen und zu testen, bevor Sie Ihre APP für die Veröffentlichung in unserem App Store übermitteln oder an Kunden verteilen.We also recommend you upload and test your production package before submitting your app for publishing in our app store, or distributing to customers.

Rein lokalPurely local

Hinweis

Wenn Sie auf diese Weise vorgehen, erhalten Sie keinen Zugriff auf die APP-Funktionen von Teams oder Teams-spezifische bot-Funktionen wie Dienstplan Aufrufe und andere kanalspezifische Funktionen.Running this way does not give you access to Teams app functionality or Teams-specific bot functions like roster calls and other channel-specific functionality. Darüber hinaus sind einige Funktionen möglicherweise durch das bot-Framework im bot-Emulator zulässig, der bei der Ausführung in Microsoft Teams möglicherweise nicht funktioniert.In addition, some capabilities may be allowed by the Bot Framework in the Bot Emulator that might not function when running in Microsoft Teams.

Ihr Bot kann innerhalb des bot-Emulators ausgeführt werden.Your bot can be run within the Bot Emulator. Auf diese Weise können Sie einige der Kern Logik des bot testen, ein grobes Layout von Nachrichten sehen und einfache Tests durchführen.This enables you to test some of the core logic of the bot, see a rough layout of messages, and perform simple tests. Führen Sie dazu die folgenden Schritte aus:Here are the steps:

  • Lokal ausführen des CodesRun the code locally
  • Starten Sie den bot-Emulator, und legen Sie die URL fest:Launch the Bot Emulator and set the URL:
    • Node. js:http://localhost:3978/api/messagesNode.js: http://localhost:3978/api/messages
    • .NET/C#:http://localhost:3979/api/messages.NET/C#: http://localhost:3979/api/messages
  • Lassen Sie die Microsoft App-ID und das Microsoft App-Kennwort leer, damit Sie den Standard Umgebungsvariablen entsprechen.Leave the Microsoft app ID and Microsoft app password blank, to match the default environment variables.

Lokal gehostetLocally hosted

Da es sich bei Microsoft Teams um ein vollständig Cloud-basiertes Produkt handelt, müssen alle Dienste, auf die es zugreift, öffentlich über HTTPS-Endpunkte zur Verfügung stehen.Because Microsoft Teams is an entirely cloud-based product, it requires all services it accesses to be available publicly using HTTPS endpoints. Damit Ihre APP in Microsoft Teams funktioniert, müssen Sie daher entweder den Code in der Cloud Ihrer Wahl veröffentlichen oder extern auf unsere lokale Instanz mit externer Ausführung zugreifen können.Therefore, to enable your app to work within Teams, you need to either publish the code to the cloud of your choice, or make our local running instance externally accessible. Letztere können mit Tunneling-Software durchführen.We can do the latter with tunneling software.

Obwohl Sie ein beliebiges Tool verwenden können, verwenden und empfehlen wir ngrok, wodurch eine extern adressierbare URL für einen Port erstellt wird, den Sie lokal auf Ihrem Computer öffnen.Although you can use any tool of choice, we use and recommend ngrok, which creates an externally addressable URL for a port you open locally on your machine. So richten Sie ngrok in Vorbereitung für die Ausführung Ihrer Microsoft Teams-App lokal ein:To set up ngrok in preparation for running your Microsoft Teams app locally:

  • Wechseln Sie in einer Terminalanwendung in das Verzeichnis, in dem Sie ngrok. exe installiert haben.In a terminal application, go the directory where you have ngrok.exe installed. Möglicherweise möchten Sie es als Path-Variable hinzufügen, um diesen Schritt zu vermeiden.You may want to add it as a path variable to avoid this step.
  • Führen Sie beispielsweise ngrok http 3978 --host-header=localhost:3978aus, oder ersetzen Sie die Portnummer bei Bedarf.Run, for example, ngrok http 3978 --host-header=localhost:3978, or replace the port number as needed.

Dadurch wird ngrok gestartet, um den angegebenen Port abzuhören.This launches ngrok to listen on the port you specify. Im Gegenzug erhalten Sie eine extern adressierbare URL, die gültig ist, solange ngrok ausgeführt wird.In return, it gives you an externally addressable URL, valid for as long as ngrok is running.

Hinweis

Wenn Sie ngrok beenden und neu starten, ändert sich die URL.If you stop and restart ngrok, the URL changes.

Um ngrok in Ihrem Projekt zu verwenden, müssen Sie in Abhängigkeit von den von Ihnen verwendeten Funktionen alle URL-Verweise in ihrer Code-, Konfigurations-und/oder Manifest. JSON-Datei ersetzen, um diesen URL-Endpunkt zu verwenden.To use ngrok in your project, and depending on the capabilities you are using, you must replace all URL references in your code, configuration, and/or manifest.json file to use this URL endpoint.

Aktualisieren Sie beispielsweise für Bots, die im Microsoft bot-Framework registriert sind, den Messaging-Endpunkt des bot, um diesen neuen ngrok-Endpunkt zu verwenden.For example, for bots registered in the Microsoft Bot Framework, update the bot's messaging endpoint to use this new ngrok endpoint. Beispiel: https://2d1224fb.ngrok.io/api/messages.For example, https://2d1224fb.ngrok.io/api/messages. Sie können überprüfen, ob ngrok arbeitet, indem Sie die bot-Antwort im Test Chatfenster des bot-Framework-Portals testen.You can validate that ngrok is working by testing bot response in the Bot Framework portal's Test chat window. (Wie beim Emulator können Sie mit diesem Test auch nicht auf Teams-spezifische Funktionen zugreifen.)(Again, like the emulator, this test doesn't allow you to access Teams-specific functionality.)

Hinweis

Um den Messaging-Endpunkt für einen bot zu aktualisieren, müssen Sie das bot-Framework verwenden.To update the messaging endpoint for a bot, you must use the Bot Framework. Klicken Sie in der Liste der Bots im bot-Frameworkauf Ihren bot.Click on your bot in your list of bots in Bot Framework. Sie müssen ihren bot nicht zu Microsoft Azure migrieren.You do not need to migrate your bot to Microsoft Azure. Sie können den Messaging-Endpunkt auch über App Studioaktualisieren.You can also update your messaging endpoint through App Studio.

In der Cloud gehostetCloud-hosted

Sie können einen beliebigen extern adressierbaren Dienst verwenden, um ihren Entwicklungs-und Produktionscode sowie deren HTTPS-Endpunkte zu hosten.You can use any externally addressable service to host your development and production code and their HTTPS endpoints. Es besteht keine Erwartung, dass sich ihre Funktionen im gleichen Dienst befinden.There is no expectation that your capabilities reside on the same service. Es ist erforderlich, dass alle Domänen, auf die von Ihren Microsoft Teams-apps zugegriffen validDomains wird, im Objekt in der Datei Manifest. JSON aufgeführt werden.We do require that all domains being accessed from your Microsoft Teams apps be listed in the validDomains object in the manifest.json file.

Hinweis

Um eine sichere Umgebung sicherzustellen, sollten Sie die genaue Domäne und Unterdomänen, auf die Sie verweisen, explizit überprüfen, und diese Domänen müssen sich in Ihrem Steuerelement befinden.To ensure a secure environment, be explicit about the exact domain and subdomains you reference, and those domains must be in your control. Beispielsweise wäre *.azurewebsites.net dies nicht empfehlenswert, würde dies contoso.azurewebsites.net jedoch tun.For example, *.azurewebsites.net would not be recommended, but contoso.azurewebsites.net would.

Laden und AusführungLoading and running

Im Allgemeinen müssen Sie zum Laden und Ausführen Ihrer Benutzeroberfläche in Microsoft Teams ein Paket erstellen und es mithilfe der folgenden Anleitung in Teams hochladen:In general, to load and run your experience within Microsoft Teams, you need to create a package and upload it into Teams, using the following guidance: