BC14 Publish Extension Fehler Metadaten

15. Mai 2020 10:01

Hallo Zusammen,

vielleicht kann mir bitte wer helfen.
Ich habe eine frische BC14 Cronus Umgebung.
Ich versuche die ersten Schritte in der Entwicklung mit AL.
Am NST ist "Enable Delevoper Service Endpoint" aktiviert,
ein erstes "HelloWorld" Beispiel mit Meldung bei Debitoren Karten Page 22 funktioniert,
die Symbole lassen sich ebenfalls herunterladen.
Entwicklerlizenz ist ebenfalls drin.
NAV-SyncTenant wurde ausgeführt.
Es sind auch keine User spezifischen Metadaten im System.

Ich habe nun versucht ein weiteres kleines Beispiel laut einem packt Buch zu erstellen,
mit einer neuen Tabelle Television Show.al table 50100 und 2 neuen Pages Television Show List.al page 50101
und Television Show Card.al page 50100.
Habe auch schon die Buch Dateien verwendet um einen Fehler auszuschließen.
In der launch.json setzte ich als Startobjekt Page 50101.

Wenn ich nun mit 5 veröffentlichen will,
öffnet sich der Browser und zeigt folgendes an:
Ein Fehler ist aufgetreten.
Die Seite '50101' konnte nicht erstellt werden. Das Metadatenobjekt Page 50101 wurde nicht gefunden.
Datum und Uhrzeit: Fri, 15 ....

Könnt Ihr mir bitte einen Tip geben, weiß wirklich nicht mehr weiter.

Gruß

Re: BC14 Publish Extension Fehler Metadaten

15. Mai 2020 11:55

schau doch mal bitte, ob deine Extension wirklich installiert ist

dein helloworld war auf welcher ID?

hast du mal versucht, die Version der Extension hochzusetzen`(app.json) und neu zu publishen?

Re: BC14 Publish Extension Fehler Metadaten

15. Mai 2020 12:00

danke für die Antwort.
Im ersten Test mit der Page 22 kann ich die Extension mit dem RTC in der Erweiterungs Page sehen.

Mit Versuch Extension mit den 3 neuen Objekten leider nicht.

Ich habe Version 14.0.36457.0
in VS Code ist in der app.json:
"platform": "14.0.0.0",
"application": "14.0.0.0",
"runtime": "3.0"

das müsste doch zur Version 14 passen?

in der app.json ist diese kryptische ID:
"id": "771ec077-053b-4e25-91b0-2980f9201c42",
Die neue Table hat ID: 50100
die 2 neuen Pages ID: 50100, 50101

das muss doch auch zu dem passen was in der app.json steht:
"idRanges": [
{
"from": 50100,
"to": 50149
}
],

Re: BC14 Publish Extension Fehler Metadaten

15. Mai 2020 13:13

sorry, aber ich muss deine Sätze entschlüsseln.
du hast eine HelloWorld-Extension
--> die ist gepublished und installiert


du hast eine Test-Extension
--> die ist? ---nichts?

Deine Test-Extension wurde ganz normal über AL-GO angelegt, oder?
--> du hast nix reinkopiert, oder?

du kannst in vs-code deine TestExtension ganz normal publishen - da kommt kein Fehler????

Re: BC14 Publish Extension Fehler Metadaten

15. Mai 2020 13:40

genau,
due ursprüngliche HelloWorld Extension hat nur in Page 22 beim OnOpen Trigger eine Meldung ausgegeben,
das funktioniert wunderbar.

Ich habe danach die Extension über den RTC gelöscht
und im VS Code Projekt die HelloWold.al Datei gelöscht
und stattdessen dann versucht eine 2 Tabelle und 2 Pages zu erstellen.
Dann mache ich wiederum einen Publish und dann kommt die Meldung siehe oben mit den Metadaten.

Mir ist es nun mittlerweile geglückt, dass ich die Objekte zum Laufen bringe.
Ich wendete das an, was ich schon mal unter BC130 gemacht habe.
Ich gehe als admin ins notepad und öffne dann vom NST die
Microsoft.Dynamics.NAv.Server.exe.config
beim reiter runtime direkt drunter füge ich folgende Zeile ein:
<NetFx40_LegacySecurityPolicy enabled="false" />

In BC13 war die Zeile da und ich musste aus true nur false machen
in BC140 fehlt die Zeile komplett.

Parallel habe ich eine Installation BC150 und das Gleiche Problem dass ich keine neuen Objekte veröffentlichen kann.
Auch hier habe ich die Zeile eingefügt und auch eine richtige Entwicklerlizenz ist drin.
Hier geht es aber leider immer noch nicht.
Ich bin echt ratlos.

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 10:01

Hallo Zusammen,
vielleicht kann mir einer helfen.
Ich bin schön langsam am verzweifeln.
Ich hatte es doch geschaft, meine BC14 Cronus Umgebung so zum Laufen zu bringen, dass ich in meine Extension
mit einer Tabelle ID 50100 und zwei Pages zum Laufen bringe.
Ich habe dann die Tabelle im Nachhinein um zwei Felder erweitert, ebenso in einer der Pages.
Diese Änderung wurde mir aber nach dem veröffentlichen nicht angezeigt.
Also bin ich über den RTC meine Änderung deinstalliert und entfernt.
Wenn ich danach die Extension wieder veröffentlichen will, kommt wieder der Metadaten Fehler.
Schon super dass uns Microsoft ab September/Oktober auf die AL Version zwingen will
und man in einer nackten Cronus Umgebung nicht mal fehlerfrei ein HellowWorld Example ausführen kann.
Ich weiß echt nicht mehr weiter.

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 10:06

Auszug aus dem Even Viewer.
Viele Meldungen zur gleichen Zeit,
hier ein Auszug:
Fehler beim Zugriff auf die Website
Type: Microsoft.Dynamics.Nav.Types.NavPageBuildErrorException
StackTrace:
bei Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(Int32 formId, FormState formState, Int32 retryCounter, String viewName) in s:\repo\src\platform\client\Shared\Prod.Client.Builder\BuilderSession\BuilderSession.cs:Zeile 300.
bei Microsoft.Dynamics.Nav.Client.FormBuilder.BuilderSession.CreateLogicalForm(Int32 formId, FormState formState) in s:\repo\src\platform\client\Shared\Prod.Client.Builder\BuilderSession\BuilderSession.cs:Zeile 249.
bei Microsoft.Dynamics.Nav.Client.NavRunPagePropertyBagInvokedAction.InvokePropertyBagAction(UISession uiSession) in s:\repo\src\platform\client\Shared\Prod.Client.UI\NavRunPagePropertyBagInvokedAction.cs:Zeile 354.
bei Microsoft.Dynamics.Nav.Client.NavPropertyBagInvokedActionBase.InvokeCore(LogicalControl logicalControl, Object state, UISession uiSession) in s:\repo\src\platform\client\Shared\Prod.Client.UI\NavPropertyBagInvokedActionBase.cs:Zeile 72.
Source: Microsoft.Dynamics.Nav.Client.Builder----------------------------------
Type: Microsoft.Dynamics.Nav.Types.NavMetadataNotFoundException
StackTrace:

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 10:07

Hast du schon mit den Versionsnummern bzw. ID's deiner Extension herumgespelt?
Gruß Fiddi

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 10:19

Hallo Fiddi,
danke für die Antwort.
Ich habe V 14.0.36457.0 im Einsatz
in der app.json habe ich demnach für platform und application "14.0.0.0" eingestellt.
Ich denke höher kann ich mit der Version nicht gehen.

Die id der extionsion ist: "id": "771ec077-053b-4e25-91b0-2980f9201c42",
da habe ich auch nichts geändert.
Ich habe nun die Cronus DB per SQL wiederhergstellt.
Ein veröffentlichen der Extension hat auch nicht funktioniert.
Erst asl ich im VS Code die Symbole heruntergeladen habe,
konnte ich wieder publishen.
Jetzt kommt aber der Hammer: die Version die hochgeladen wird ist die erste ohne Erweiterung der 2 neuen Feldern in Tabelle und Karten Page.
Ich verstehs echt nicht mehr

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 10:35

Du solltest deine Version und ich glaube auch die ID ändern, damit BC deine neue Version erkennt.

Gruß Fiddi

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 11:05

kannst Du mir evtl einen Tip geben, welche Nr. ich bei Version eintragen soll?

Bezüglich ID: kann man da einfach irgendeine Fantasie Nr. eingeben oder muss das nicht einer GUID Richtlinie sein?

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 11:13

wenn ich testweise in einer der vorhandenen pages im on open trigger eine message einbaue,
wird diese auch nicht angezeigt.
es wirkt so, also ob beim Run nicht die neueste version hochgeladen wird.
habe folgendes in der launch.json eingestellt:
"schemaUpdateMode": "Synchronize"
müsste man da force einstellen? oder gibt es irgendeine andere einstellung dass die alte Extions überbügelt wird?

Re: BC14 Publish Extension Fehler Metadaten

22. Mai 2020 11:28

hab nun in der laun.json
die version von "version": "1.0.0.0"
zu "version": "2.0.0.0"
angehoben. F5 läuft, Browser öffnet sich, immer noch die alte version.
im RTC unter Extension steht "version": "1.0.0.0"

gibt's denn da nicht irgendein Flag, das die alte Version überbügelt?

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 09:14

also ich habe keinen Plan was du machst
deinstalliere und unpublishe doch mal alles richtig - das ist aus meiner Sicht nur "Gefrickel", was du da versuchst.
Wenn das alles nix bringt, bau dir die DB neu auf.

Gollum83 hat geschrieben:Schon super dass uns Microsoft ab September/Oktober auf die AL Version zwingen will
und man in einer nackten Cronus Umgebung nicht mal fehlerfrei ein HellowWorld Example ausführen kann.


Ich kann dir mitteilen, dass die Extensions, die wir momentan erstellen, nicht solche Probleme wie bei dir verursachen.
Weiterhin ist deine Cronus DB defintiv nicht nackt, wenn du bereits erfolgreich das HelloWorld-Beispiel verwendet hast.
Wenn du dann hergehst und die HelloWorld-Extension kaputtfrimelst (denn so sieht es für mich momentan aus), kann Microsoft sicherlich nichts dafür.

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 09:59

erst mal Vielen Dank für Deine Tips.

ich habe jetzt mal folgendes gemacht, was Du mir geschrieben hast:
deinstalliere und unpublishe
erledigt. in SQL war die Tabelle dann trotzdem noch drin, habe diese manuell gelöscht.
Danach Sync-NAVTenant, dann Dienst neu gestartet.
Habe im AL Projekt dann die Versionsnr. geändert und HelloWorld2 als Namen eingegeben.
Dann Symbole neu runtergeladen.
Mit F5 geht dann wieders nichts.
Dann habe ich versucht über die AL Kommandozeile den Befehl: AL: Publish with debugging auszuführen,
dann kommt ein SQL Berechtigungsfehler (später unten)
Dann habe ich berechtigungsseitig alles geprüft: Domänen-User unter dem der Dienst läuft und auch in Windows damit arbeite,
hat DB Owner auf der SQL Datenbank. In Cronus ist dieser als SUPER User angelegt.
Interessant: im RTC unter Erweiterung steht nun HellowWorld2 drin, ist aber nichts installiert.
Bei manuellem installieren kommt die gleiche SQL Berechtigungsfehlermeldung wie auch im VS Code bei Publish with debugging:
siehe bitte Bild

Klar, letztendlich werde ich irgendwann mit einer frischen Cronus DB aufgesetzen und alles neu machen.
ABer bitte glaube mir: bis auf die Connection Einstellungen und statt dem einen HelloWorld AL Biespiel mit Meldung zu Beginn der Debitroren Page und ersetzen durch die 3 eigenen Objekte
habe ich im VS Code Projekt nichts geändert, und dieses habe ich auch mit AL:Go angelegt.
Ich möchte es einfach verstehen, wo der Fehler liegt. Es ist alles so undurchsichtig.
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 10:01

genau das habe ich noch vergessen: die Tabelle wurde mir nicht mehr neu in sql angelegt. Wahrscheinlich würde das beim Installieren gemacht werden, doch dann kommt der Berechtigungsfehler

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 10:03

hier noch die zwei config dateien:
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 10:04

und die app.json
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 10:53

ich bin nun einen Schritt weiter gekommen, dank einem Deiner Tips.
habe die id von .....42 auf ...43 erhöht.
Sofort danach war die "richtige" Version der extension gepublished.
Ich bin da schon mal sehr erleichert.

Einzig ein seltsam Phänomen bleibt noch, mit dem ich aber leben kann:
wenn ich nochmal eine Kleinigkeit ändere und F5 drücke ist die neueste Änderung wiederum nicht akiv,
sondern erst wenn ich über die AL Kommandozeile den Befehl: AL: Publish with debugging ausführe.
Das ist jetzt nicht so tragisch.

Warum es generell so gefuchst hat, vermute ich, dass evtl. an irgendeiner Cache-Stelle noch was altes drin war.
Keine Ahnung ob das ein Cache des Visual Studio Codes war oder einer der diversen Temp Ordner von NAV

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 12:37

bitte ....bitte ....bitte - lösche keine Table aus der DB - jedenfalls nicht live, ohne das du genau weißt, was du da machst.

Extensiontabellen bleiben trotz unpublish nämlich drin - und das ist auch gut so!

Wenn du eine HelloWorld-App schreibst, dann hat die eine AppID (GUID) - diese WIRD NIEMALS(!!!!) von dir geändert - NIEMALS ....außer du weißt, was du da tust!
Wenn du eine neue Erweiterung schreibst, dann verwendest du ZWINGEND(!) eine neue GUID - das System gibt dir per AL-GO eine frische GUID vor - die du NIEMALS(s.o.) änderst.

Bevor du also live gehst, überleg dir genau, was du brauchst und was nicht.
Passt etwas nicht in der DEV-DB, dann ist das nicht schlimm -> bau dir die DB neu auf.
Publishst du aber ins Livesystem und es passt was nicht, dann ist das ....sagen wir mal ....weniger schön.

Nochmal: Die AppID (id) wird nicht geändert ... und gleich garnicht von einer anderen App verwendet.

Re: BC14 Publish Extension Fehler Metadaten

25. Mai 2020 12:49

ok, habe soweit alles verstanden. Danke Dir.
habs schon vermutet, dass die ID eine GUID ist.
ok, verstanden, werde ich niemals produktiv machen. Lieber ein neues Projekt und dann die al files reinkopieren

Verstehe das auch mit Deiner Warnung eine Tabelle direkt über SQL zu Löschen, war nur in meiner Spielumgebung, dachte vielleicht klappt der Publish dann.
Irgendwas hatte sich da bezüglich der ursprünglichen GUID festgefahren.
Aber ich kann jetzt mit meinen eigentlichen AL Tests weitermachen und bin überglücklich :-D