Freigeben über


Tutorial: X++-Code schreiben, bereitstellen und debuggen

Die vereinheitlichte Entwicklerumgebung für Finanz- und Betriebs-Apps ermöglicht es Ihnen, Code auf Ihrem lokalen Entwicklungscomputer zu schreiben und ihn in einem Clouddienst auszuführen. Es gibt eine Trennung der Funktionen zwischen diesen beiden Ebenen (lokal und in der Cloud).

  • Entwicklungsebene – enthält die Finanz- und Betriebsmetadaten und jeglichen X++ Quellcode auf Ihrem lokalen Entwicklungscomputer
  • Ausführungsebene – in der Cloud gehostete Website, die die Geschäftsdaten speichert und X++ Code ausführt

Dieser Artikel zeigt Ihnen, wie das geht:

  1. Eine ausführbare X++ Klasse schreiben und kompilieren
  2. Klasse in der Cloud-Runtime bereitstellen
  3. Bereitgestellten X++ Code debuggen

Beginnen wir mit der Entwicklung einer ausführbaren X++ Klasse als Beispiel. Die einzige Aufgabe der Klasse besteht darin, eine Nachricht im Infolog zu protokollieren. Hier kommt es nicht darauf an, was die ausführbare Klasse tut, sondern darauf, wie wir sie kompilieren, ausführen und debuggen. Wenn Sie mehr über die Sprache X++ erfahren möchten, sehen Sie sich die Programmierreferenz an.

Wichtig

Ausführlichere Informationen erhalten Sie in den Präsentationen und Demos für die Tech-Talk-Reihe zu Dynamics 365 FastTrack

Einheitliche Entwicklungserfahrung für Finanzen und Betrieb | Dynamics 365 FastTrack Tech Talk

Anforderungen

Sie sollten Zugriff auf eine vereinheitlichte Entwicklungsumgebung haben, die Visual Studio-Tool-Erweiterungen sollten auf Ihrem Entwicklungscomputer installiert und konfiguriert und mit derselben Umgebung verbunden sind. Es ist wichtig, dass die Metadatenänderungen auf Ihrem Entwicklungscomputer in der verbundenen Umgebung bereitgestellt bleiben. Weitere Informationen: Entwicklungstools installieren und konfigurieren

Modell erstellen

Wir beginnen mit der Erstellung eines Modells in Visual Studio.

  1. Starten Sie Visual Studio und wählen Sie Ohne Code fortfahren aus.

  2. Wählen Sie die Menüoption Erweiterungen>Dynamics 365>Modellverwaltung>Modell erstellen... aus. Wenn Sie diese Menüoption nicht sehen, haben Sie nicht die erforderliche Visual Studio-Erweiterung installiert.

  3. Geben Sie den Modellnamen „MyTestModel“ ein, wenn Sie im Formular dazu aufgefordert werden, und geben Sie relevante Informationen für die restlichen erforderlichen Informationen an.

    Parameter hinzufügen

  4. Wählen Sie im nächsten Schritt des Formulars Neues Paket erstellen aus.

    Paket auswählen

  5. Wählen Sie alle referenzierten Modelle aus. In diesem trivialen Beispiel müssen Sie nur Abhängigkeiten zu den Paketen „Anwendungsplattform“ und „Anwendungsgrundlage“ angeben.

    Referenzierte Pakete auswählen

  6. Wählen Sie mehrmals Weiter aus, bis das Paket erstellt wurde.

Die ausführbare X++ Klasse hinzufügen und kompilieren

Erstellen Sie ein Projekt und eine X++ Klasse in Visual Studio, indem Sie diese Schritte befolgen.

  1. Erstellen Sie ein Projekt in Visual Studio, das die ausführbare Klasse enthält. Der Name der Klasse ist hier nicht wichtig. Behalten Sie für diese Übung den Standardnamen „FinanceOperations3“ bei.
  2. Fügen Sie dem Projekt im Lösungs-Explorer eine ausführbare Klasse hinzu, indem Sie mit der rechten Maustaste auf das Projekt klicken und Hinzufügen>Neues Element auswählen.
  3. Wählen Sie eine Ausführbare Klasse im Menü Code unter Dynamics 365-Elemente aus und nennen Sie sie „MyRunnableClass“. Visual Studio öffnet ein Fenster mit der Vorlage für eine ausführbare Klasse, die eine statische main-Methode bereitstellt, die aufgerufen wird, während die ausführbare Klasse ausgeführt wird.
  4. Fügen Sie den folgenden X++ Code zur main-Methode hinzu. Da wir hier nur eine Token-Implementierung bereitstellen, fügen Sie einen Aufruf hinzu, um eine Zeichenfolgennachricht im Infolog zu protokollieren:
internal final class MyRunnableClass
{
    public static void main(Args _args)
    {
        Info('Hello World from the Server Side');
    }
}

Kompilieren Sie die Klasse, um sicherzustellen, dass Sie keine Fehler in diesen Code eingefügt haben. Die Kompilierung erfolgt durch Auswahl von Build aus dem Kontextmenü des Projekts.

Klasse bereitstellen

Die gesamte Arbeit, die wir bisher geleistet haben, wurde auf Kundenseite geleistet. Der X++ Compiler und die zugehörigen Tools werden alle lokal installiert, zusammen mit den Metadaten, die die Anwendung definieren, für die Sie entwickeln. In Visual Studio können Sie den Menüpunkt Metadaten konfigurieren verwenden, um die Konfiguration zu verwalten, mit der Sie arbeiten.

Jetzt ist es an der Zeit, den Code auszuführen, und für die Codeausführung müssen Sie den Code auf der Serverebene (Cloudebene) bereitstellen. Verwenden Sie für diesen Vorgang den Menüpunkt Erweiterung>Dynamics 365>Deploy>Modelle in der Onlineumgebung bereitstellen. Im angezeigten Dialogfeld können Sie die bereitzustellenden Pakete auswählen. In diesem Fall müssen Sie „MyTestModel“ auswählen. Sie können dieses Modell ganz einfach finden, indem Sie das Suchfeld oben in der Paketliste verwenden. Unten im Dialogfeld sehen Sie die Pakete, auf die verwiesen wird. Da diese Pakete Teil des von Microsoft bereitgestellten Codes sind, müssen Sie sie nicht bereitstellen, da sie bereits auf der Serverebene installiert sind.

Das Dialogfeld „Module bereitstellen“

Zu diesem Zeitpunkt greifen Sie auf den Endpunkt in der Cloud zu. Sofern Sie also nicht bereits angemeldet sind, müssen Sie sich wahrscheinlich authentifizieren und eine Verbindung zur Umgebung herstellen. Verwenden Sie Ihre Microsoft Dataverse-Anmeldeinformationen, um eine Verbindung zu Dataverse herzustellen, und wählen Sie die Lösung aus, mit der Sie arbeiten möchten. Nach einer kurzen Wartezeit ist die Authentifizierung abgeschlossen.

Wichtig

Es gibt verschiedene Möglichkeiten, Ihre Änderungen in der vereinheitlichten Entwicklungsumgebung bereitzustellen.

  1. Stellen Sie das vollständige Modell über das Dialogfeld Dynamics 365>Bereitstellen>Modelle bereitstellen... bereit. Bei Bedarf können Sie die Datenbank synchronisieren.

  2. Stellen Sie im Rahmen eines vollständigen Builds das vollständige Modell bereit. Diese Bereitstellung wird über das Dialogfeld Dynamics 365>Modelle erstellen initiiert, wenn die Option In verbundener Online-Umgebung bereitstellen aktiviert ist. Das Tool synchronisiert die Datenbank oder nicht, basierend auf der Einstellung Datenbank synchronisieren auf derselben Registerkarte Optionen.

  3. Wenn Sie im Rahmen eines inkrementellen Builds aus dem Lösungs-Explorer Änderungen in der Online-Umgebung bereitstellen auf „true“ setzen, werden nur Änderungen seit der letzten erfolgreichen Bereitstellung oder solche, die im Rahmen dieses Builds vorgenommen wurden, bereitgestellt. Dabei werden die Projekteinstellungen für Datenbank synchronisieren berücksichtigt.

  4. Klicken Sie mit der rechten Maustaste auf ein Projekt und wählen Sie Modell für Projekt bereitstellen... aus. Dadurch werden nur Änderungen seit der letzten erfolgreichen Bereitstellung bereitgestellt, die Datenbank für das Modul wird jedoch nicht synchronisiert.

  5. Synchronisieren Sie die Datenbank für alle Modelle, ohne etwas Neues bereitzustellen, über Dynamics 365>Datenbank synchronisieren....

Sie können den Fortschritt der Bereitstellung verfolgen, indem Sie zum Dropdownmenü „FinOps-Cloud-Laufzeit“ im Visual Studio Ausgabefenster gehen. Sobald die Bereitstellung abgeschlossen ist, können Sie Protokollinformationen anzeigen lassen, indem Sie dem im Ausgabefenster angezeigten Link folgen.

Bereitgestellten Code debuggen

Nachdem Sie den Projektcode kompiliert und in die Cloudendpunkt hochgeladen haben, ist die Binärdatei zur Ausführung bereit. Um zu überprüfen, ob mit dem kompilierten Klassencode alles in Ordnung ist, führen Sie ein Debugging durch.

  1. Legen Sie in Visual Studio die Debugging-Optionen fest, um die Symbole für Ihr Paket und auch für ApplicationPlatform- und ApplicationFoundation-Pakete zu laden.

    Um die Optionen festzulegen, öffnen Sie zunächst die Optionen im Menü Erweiterungen und wechseln Sie zur Registerkarte „Debuggen“. Die Seite Debuggen zeigt Optionen zum Laden von Symbolen. Stellen Sie sicher, dass Sie angeben, dass Sie die Elemente in Ihrer Lösung sowie die ApplicationFoundation- und ApplicationPlatform-Pakete laden möchten.

  2. Setzen Sie einen Haltepunkt in der Zeile, in der wir die Methode Info aufrufen, und drücken Sie dann den grünen Pfeil in der Symbolleiste oder verwenden Sie die Tastenkombination F5, um das Debuggen zu starten.

    Es öffnet sich ein Browserfenster mit einer URL, die die ausführbare Klasse bezeichnet. Nach einer Weile lädt der Browser das Formular, das anzeigt, dass der Klassen-Runner aktiv ist und die MyRunnableClass-Klasse ausführt. Als Nächstes lädt der Debugger die Symbole für Ihr Projekt und die Ausführung stoppt am Haltepunkt.

  3. Drücken Sie F5, um die Ausführung fortzusetzen, und sehen Sie dann, dass im Infolog-Bereich in Visual Studio die Nachricht angezeigt wird, die wir mithilfe des Aufrufs der Info-Methode in den Infolog eingegeben haben.

  4. Aktualisieren Sie das Browserfenster, wodurch die URL neu geladen wird.

    Sie werden sehen, dass der Haltepunkt sofort geladen wird. Der Debugger läuft noch und die Ausgabemeldung erscheint ein zweites Mal im Infolog, ohne dass der Debugger neu gestartet werden muss. Diese Technik ist besonders nützlich beim Ausführen von Formularen. Sie können den Browser jederzeit aktualisieren und das Formular wird ohne Verzögerung durch das Laden der Symbole erneut geladen.

Lassen Sie uns das doch jetzt einmal versuchen. Anstatt mühsam unser eigenes Formular noch einmal zu schreiben, verwenden Sie ein bereits vorhandenes Formular. Beginnen Sie mit der Verwendung des SysUserSetup-Formulars, mit dem Sie die Farbgebung (Design) festlegen können, die zum Rendern von Formularen verwendet wird. Wir ändern die URL, um das SysUserSetup-Formular zu öffnen, anstatt die Klasse auszuführen, indem wir den Menüpunkt (mi) ändern – den Teil, der den Menüpunkt zum Starten des Klassen-Runners angibt. Die URL wird ungefähr so enden:

https://<environment>?prt=initial&debug=vs&activityid=\<unchanged>&cmp=DAT&mi=SysUserSetup

Sie sehen nun das Formular, in dem Sie die Farben auswählen können.

Nun setzen wir einen Haltepunkt im Formular.

  1. Öffnen Sie den Anwendungs-Explorer aus dem Menü Ansicht.
  2. Geben Sie die Zeichenfolge SysUserSetup type:"form" in der Suchleiste im Anwendungs-Explorer-Fenster ein.
  3. Wählen Sie das Formular und dann Code ansehen aus, um den Editor mit dem Quellcode für dieses Formular zu öffnen.
  4. Legen Sie in diesem Formular einen Haltepunkt in der selectionChange-Methode im ThemeChooser-Steuerelement fest. Dieser Code wird ausgelöst, wenn der Benutzende ein neues Farbdesign auswählt.
  5. Wählen Sie im Browserfenster eines der farbigen Quadrate aus, beispielsweise das rote. Sie werden den Haltepunkt erreichen.
  6. Setzen Sie die Ausführung durch Drücken von F10 oder F5 fort. Ein weiteres farbiges Quadrat wird getroffen und der Haltepunkt wird erneut ausgelöst.
  7. Sie können die lokalen Vorgänge beobachten, neue Haltepunkte setzen und verschiedene Debugging-Aufgaben ausführen.

Wichtig

Wenn Sie den Debugger an den laufenden AOS-Prozess in der vereinheitlichten Umgebung anhängen möchten, verwenden Sie Dynamics 365>Debugger starten.

Um den Debugger von der Runtime zu trennen, ohne das AOS neu zu starten, verwenden Sie Anstelle von „Anhalten“ trennen aus.

Verwenden Sie Application Insights, um die in der vereinheitlichten Entwicklungsumgebung ausgeführte Anwendung zu überwachen und zu diagnostizieren. Erfahren Sie mehr über den Einblick: Überwachung und Telemetrie mithilfe von Application Insights

Übersicht

Hier finden Sie nochmal eine Zusammenfassung und die Punkte, die Sie aus dieser Übung mitnehmen können.

Wir haben mit der Verwendung von Visual Studio begonnen, um eine einfache ausführbare Klasse zu erstellen. Nach der Kompilierung musste das Paket zur Ausführung in den Cloudendpunkt verschoben werden. X++ Code kann nur in der Cloud ausgeführt werden, daher haben wir einen Bereitstellungsvorgang durchgeführt. Nachdem die Bereitstellung abgeschlossen war, führten wir den Code aus, indem wir einen Haltepunkt gesetzt und den Debugger ausgeführt haben. Anschließend haben wir ein Formular vom Browser aus gestartet und festgestellt, dass die Haltepunkte beim Verwenden des Formulars korrekt erreicht wurden und wir den Debugger hierfür nicht neu starten mussten. Tatsächlich kann der Debugger mit der Option Debugger starten im Menü Erweiterung gestartet werden. Sie können dann eine URL in den Browser eingeben, das Szenario zum Debuggen ausführen und die Haltepunkte werden erreicht.

Siehe auch

Einheitliche Entwicklungserfahrung für Finanzen und Betrieb | Dynamics 365 FastTrack Tech Talk
Unit-Tests in der einheitlichen Entwicklererfahrung
Erstellen und verwalten Sie Umgebungen im Power Platform Admin Center
Dynamics 365-Apps verwalten