Skip to main content

Befehl: Bibliotheken auflösen, Alle Bibliotheken auflösen

Funktion: Der Befehl löst die Bibliotheksreferenzen auf und speichert die Referenzen in der Libraries.lock.json.

Aufruf: Rechtsklick auf das Element Libraries.json oder auf das Element Libraries.lock.json

  • Kontextmenü des Elements Libraries.json

  • Kontextmenü des Elements Libraries.lock.json

Die Bibliotheksauflösung bezeichnet den Prozess der rekursiven Analyse aller Bibliotheksreferenzen der Applikation und Bibliotheken. Dabei wird der vollständige Abhängigkeitsgraph erstellt und in der Datei Libraries.lock.json gespeichert.

Der Compiler verwendet nur den Inhalt der Datei Libraries.lock.json, um Bibliotheksreferenzen zu laden. Die Bibliotheksauflösung wird einmalig beim Erstellen eines Geräteprojekts und danach nur noch durch eine explizite Benutzerinteraktion ausgelöst. Daher ändert sich das Abhängigkeitsdiagramm niemals bei einem vorhandenen Projekt ohne explizite Benutzerinteraktion.

. Ein Auflösen der Bibliotheken wird notwendig:
  • nach dem Editieren der Datei Libraries.json

  • nach dem Editieren oder Ersetzen von Geräten

  • nach der Änderung einer Bibliotheksversion

Wichtig

Durch die Datei Libraries.lock.json und den Hash wird sichergestellt, dass über verschiedene Builds hinweg die referenzierten Bibliotheken auch inhaltlich immer gleich bleiben, nicht nur ihre ID.

Der Befehl Bibliotheken auflösen löst nur die Bibliotheken neu auf, deren Referenzen sich geändert haben (beispielsweise weil sie neu hinzugekommen sind). Die bereits aufgelösten Bibliotheken bleiben auf der Version, die in der Libraries.lock.json steht. Das erlaubt es, einzelne Bibliotheken hinzuzufügen oder zu aktualisieren, ohne den Rest der Referenzen zu verändern.

Der Befehl Alle Bibliotheken auflösen löst immer alle Referenzen neu auf und ignoriert die Libraries.lock.json, sofern sie existiert.

. Priorität bei der Bibliotheksauflösung:
  1. Bibliotheken, auf die mit relativem Pfad verwiesen wird, werden über den Pfad aufgelöst.

  2. Bibliotheksverweise mit festen Versions-Bibliotheks-IDs werden zu dieser festen Version aufgelöst.

  3. Bibliotheksverweise mit einem Versionsmuster werden zur neuesten Version dieser Bibliothek aufgelöst, die dem Muster entspricht.

  4. Platzhalter für Bibliotheken mit einer Platzhalterüberschreibung in der obersten Ebene von Libraries.json werden gemäß der Überschreibung aufgelöst.

  5. Platzhalter, für die eine Komponente in CODESYS 4 oder eine Erweiterung eine Platzhalterauflösung definiert, werden zu dieser Version aufgelöst.

  6. Platzhalter mit einer eindeutigen Auflösung in den vorhandenen Gerätebeschreibungen werden gemäß den Platzhalterdefinitionen in den Gerätebeschreibungen aufgelöst. (XML-Pfad: library-management\\placeholder-libraries\\)

  7. Nicht aufgelöste erforderliche Bibliotheken lösen einen Fehler aus.