EDV ANWENDUNG

Business Central, AL, Visual Studio Code and .NET Interoperabilität

In diesem Artikel zeigen wir, welche Einstellungen und Schritte vorgenommen werden sollten, um die .net Interoperability in Dynamics 365 Business Central (früher Navision) benutzen zu können. .NET Interoperabilität ist nur in On-Premise Version vorhanden. Cloud Versionen bleiben außerhalb dieses Artikels.

  1. Im ersten Schritt muss die app.json Datei ergänzt werden um einen Parameter, der zeigt, es ist eine On-Premise Installation. "target": "OnPrem"

Visual Studio Code - Dynamics 365 Business Central (Navision) Einrichtung für OnPrem .NET Interoperabilität

  1. Im nächsten Schritt müssen wir den Compiler informieren, wo alle DLL-Bibliotheken gespeichert werden. Der Compiler weiß standardmäßig nur, wo die mscorlib Assembly gesucht werden sollte. Der Pfad kann mit einer Command "al.assemblyProbingPaths" definiert werden. Die Einrichtung wird im Benutzer-Setting gespeichert, in der settings.json - Datei. Detaillierte Schritte:
    • Command Pallete öffnen mit Strg + Umschalt + P;

VS Code Dynamics 365 Business Central (Navision) - AL: Download symbols

  • suchen nach Configure Language Specific Settings...

Visual Studio Code - Configure Language Specific Settings für .NET

  • AL Sprache auswählen. Die Benutzer-Einrichtungsdatei settings.json wird zum Editieren geöffnet;

Visual Studio Code und Dynamics 365 Business Central (Navision)

  • Nach dem Command al.assemblyProbingsPahts suchen und die Funktion ausführen;

Visual Studio Code Pfade für .NET Interoperability in Dynamics 365 Business Central (Navision)

  • Alle Pfade wegschreiben. In unserem Beispiel sehen die so aus.

Visual Studio Code Beispiel des Pfades für .NET Interoperability

  1. Jetzt schreiben wir eine Codeunit, wo die .NET Methoden benutzt werden.
    1. Wir haben eine Methode vom mscorlib hinzugefügt: System.DateTime;
    2. Wir haben eine Methode außer mscorlib hinzugefügt: System.Net.Http.HttpResponseMessage. Die wird in einem anderen Beispiel über OData verwendet;
    3. Wir haben einen EventSubscriber hinzugefügt zur Seite "Firmendaten", OnOpenPageEvent;
    4. In der Subscriber-Methode wird die DateTime Methode aufgerufen;
    5. Beide .NET Assemblies werden kompiliert.

Dynamics 365 Business Central (Navision) - .NET Klasse DateTime Beispiel

  1. Das Ergebnis wird beim Öffnen der Firmendaten-Seite angezeigt.

Dynamics 365 Business Central (Navision) - Infofenster - Datum von .NET DateTime

  1. Jetzt zum Testzweck, löschen wir vorübergehend alle Pfade, die wir im Schritt 1 in settings.json definiert haben. Nachdem die Datei wieder gespeichert wird, kann der Compiler keine Klasse außer mscorlib erkennen.

Dynamics 365 Business Central (Navision) - .NET Pfade werden auskommentiert

Dynamics 365 Business Central TM (Navision) Entwicklerin und Beraterin View Konrad Buczkowski's LinkedIn profile Monika Wichrowska