Skip to main content

Libraries.json

これは、アプリケーションまたはライブラリの開発者によって明示的に宣言された直接ライブラリ参照を含むマニフェストファイルです。アプリケーションのメインディレクトリとライブラリプロジェクトのルートディレクトリで有効です。同じライブラリを同じプロジェクト内で2つの異なる名前空間で参照することはできません。Libraries.jsonファイル。

ファイルは3つのセクションで構成されています。

  • 最初のセクションreferencesライブラリ参照の名前空間をキーとし、参照の詳細を記述するオブジェクトを値とする JSON ディクショナリが含まれています。$typeメンバーは、異なる参照タイプを区別するために使用されます。

  • 第2部placeholderOverridesキーがプレースホルダー名、値がプレースホルダーを上書きするライブラリIDまたはパターンであるJSON辞書が含まれています。

  • 第3セクションlibraryParametersキーと値のペアからなるJSON辞書が含まれています。外側の辞書のキーには、以下の値を含めることができます。

    • ハッシュ記号が前に付いたプレースホルダー(#プレースホルダーライブラリを参照する

    • A LibraryId管理ライブラリを参照する

    • ライブラリプロジェクトを参照するための相対パス

    内部辞書には、ライブラリパラメータがキーとして、対応する値が値として格納されています。

メンバー

有効期間$type

必須

デフォルト値

説明

$type

はい

図書館の参考資料の種類

  • ManagedLibraryライブラリID(名前、バージョン、ベンダーを含む)

  • RelativePathハードドライブ上のライブラリプロジェクトへの相対パス

  • Placeholder : デフォルトの解像度を持つプレースホルダー名。拡張子またはplaceholderOverrides必要に応じてこの決議を上書きします。

allowUnqualifiedAccess

全て

false

値がtrueそうすれば、名前空間修飾なしでライブラリにアクセスできます。新しいコードに推奨される値はfalseこれは、qualifiedOnly価値CODESYS 3デフォルトではfalse歴史的な理由によるものです。これは、図書館が制限なく誰でもアクセスできる場合にのみ有効です。

publishSymbolsInContainer

全て

false

値がtrueすると、参照先のライブラリは、参照元のコンテナライブラリにシンボルを公開します。この設定を使用して、コンテナライブラリを作成する際に公開するシンボルを定義します。

optional

全て

false

値がtrueライブラリが利用できないため、コンパイラエラーは発生しません。ただし、このライブラリのシンボルが不足している場合は、コンパイラエラーが発生する可能性があります。

linkAllContent

全て

false

値がtrueすると、ライブラリのすべてのコンテンツがリンクされます。これは通常、システムライブラリにのみ使用されます。

path

RelativePath

はい

現在の位置を基準とした図書館の経路Libraries.jsonファイル。パスはURI表記を使用します。したがって、../ 1つ上のディレクトリレベルに移動して、foo/開くfooフォルダ。パスはCODESYS 4ライブラリプロジェクトディレクトリ(*.fbslib/ )

libraryId

ManagedLibrary

はい

管理対象ライブラリのライブラリID。バージョン部分はパターンにすることができます。パターンの形式は、セクションで定義されています。図書館の参照。

includePrerelease

ManagedLibrary、Placeholder

false

値がtrueそして、バージョンを比較する際には、バージョンパターンは、パターンで許可されている範囲内のプレリリースバージョンも受け入れます。

値がfalseすると、プレリリース タグが付いたバージョンは、パターン内の同じ [メジャー、マイナー、パッチ] タプルを持つ少なくとも 1 つの比較要素にもプレリリース タグが付いている場合にのみ、バージョン パターンによって受け入れられます。

placeholder

Placeholder

はい

参照されるライブラリのプレースホルダー。プレースホルダー解決によってライブラリIDに解決されます。

defaultResolution

Placeholder

null

オプション:このオプションを有効にすると、すべてのPOUはこのバージョンのライブラリ(またはバージョンパターン)を使用します。

例 47. 例
{
  "references" : {
    "TESTEXTERNALS": {
      "$type": "RelativePath",
      "path": "../../../TestLib.fbslib/",
      "optional": true,
      "linkAllContent": true
    },
    "SysTime": {
      "$type": "Placeholder",
      "placeholder": "SysTime"
    },
    "Standard": {
      "$type": "ManagedLibrary",
      "libraryId": "Standard, 3.5.18.0 (System)"
    },
    "AcmeTools": {
      "$type": "ManagedLibrary",
      "libraryId": "Acme Tools, 3.5.* (Acme International Inc.)",
      "publishSymbolsInContainer": true, // comments and trailing commas are tolerated
    },
    "WsCompiled": {
      "$type": "RelativePath",
      "path": "../../../pipeline-assets/Some library.compiled-library", 
      "noHash": true
    }
  },
  "placeholderOverrides": {
    "SysTime" : "SysTime, 3.5.17.0 (System)",
    "OtherPlaceholder" : "SomeToolsLib, >=1.2.0 (SomeTools Company)"
  },
  "libraryParameters": {
    "#SysTime": {
      "ParamOne": "250",
      "ParamTwo": "true"
    },
    "Acme Tools, 3.5.* (Acme International Inc.)": {
      "ParamOne": "125"
    },
    "../../../TestLib.fbslib/": {
      "ParamThree": "125"
    }
  }
}



図書館の参照

まるでCODESYS 3図書館CODESYS 4プレースホルダー、正確なライブラリ ID、またはバージョン パターン付きのライブラリ ID を介して参照できます。さらに、編集可能なライブラリとして利用可能なソース ライブラリは、相対パスを介して参照することもできます。Libraries.jsonファイル、

バージョンパターン

サンプル構文

説明

1.2.3.4

指定されたバージョン1.2.3.4と完全に一致します。

1.2.3

これはバージョン1.2.3または1.2.3.0に完全に相当します。

*

x

X

最新のリリース版のみで、プレリリース版はありません。

1.2.*

1.2.*.*

1.2.x

1.2.X

最新リリースされたバージョン1.2のパッチレベル

>=1.2.3-alpha.2

バージョン1.2.3以降(alpha.2以降の1.2.3プレリリース版を含む)

1.0.0 - 2.0.0

1 - 2

>=1.0.0 <=2.0.0

バージョン1.0.0.0から2.0.0.0まで(プレリリース版を除く)に一致します。

注: 範囲に「-」が含まれる場合は、プレリリースインジケーターと区別するために演算子の周囲にスペースが必要です。例: 1.0.0-2.0.0 != 1.0.0 - 2.0.0

  • 1.0.0 - 2.0.0 : 範囲 >=1.0.0 から <=2.0.0

  • 1.0.0-2.0.0:プレリリースフラグ2.0.0が付いた、正確なバージョン1.0.0

1.2.3以上1.5未満

バージョン1.2.3以降であればどれでも使用できますが、1.5は除きます。

1.0以上

最小バージョン 1.0 (含む)

>=1.0 <1.5||>=1.5.1 <2

バージョン1.5.0を除くすべての1.xバージョン