"実行時の依存関係を分離"を有効にした場合のnupkgファイルのインストールについて

:grey_question: Question

"実行時の依存関係を分離"オプションを有効にしてライブラリをパブリッシュしたところ、以下の二つのnupkgファイルが生成されました。
パブリッシュしたライブラリを使用するStudio/StudioXのプロジェクトではどちらのnupkgを使用すればよいですか?

生成されたnupkgファイル:
[ライブラリ名].1.0.0.nupkg
[ライブラリ名].Library.Runtime.1.0.0.nupkg

:bulb: Answer

Studio/StudioXでプロジェクト開発を行う場合、両方の二つのnupkgファイルの内、Studio/StudioXにて開発する際に明示的に依存関係に追加するのは"[ライブラリ名].1.0.0.nupkg"になります。

ただし、インストールの際には、上記のnupkgファイル両方がフィード上に存在する必要があります。

これは"[ライブラリ名].1.0.0.nupkg"の依存関係に"[ライブラリ名].Library.Runtime.1.0.0.nupkg"が含まれているため、開発時に"パッケージ管理画面から"[ライブラリ名].1.0.0.nupkg"をインストールした時点で間接的に"[ライブラリ名].Library.Runtime.1.0.0.nupkg"が依存関係に含まれるためです。

"実行時の依存関係を分離"オプションが有効のとき、パッケージはロボットのパフォーマンスを向上させ、パブリッシュしたパッケージのサイズを縮小するために次のように分割されます。

nupkgファイル 役割
[ライブラリ名].1.0.0.nupkg Studio/StudioXでの開発時に必要となる
[ライブラリ名].Library.Runtime.1.0.0.nupkg Studio/StudioXからのパブリッシュ後、プロセスの実行時に必要となる

上記のライブラリファイルを参照して開発されたプロセスパッケージの依存関係はパブリッシュ時に自動的に変更され、パブリッシュ後は"[ライブラリ名].Library.Runtime.1.0.0.nupkg"のみに依存するようになります。

尚、Studio/StudioXでの開発時にライブラリパッケージをインストールする際、“[ライブラリ名].Library.Runtime.1.0.0.nupkg"のみをインストールした場合でもエラーが発生せずジョブが動作することがあります。
しかしながら、予期せぬ動作を引き起こす可能性が考えられるため、”[ライブラリ名].1.0.0.nupkg"の方をインストールください。

上記をまとめると次の表になります。

開発時/実行時 正しい依存パッケージの設定 注記
開発時 [ライブラリ名].1.0.0.nupkg “[ライブラリ名].1.0.0.nupkg"を通じて”[ライブラリ名].Library.Runtime.1.0.0.nupkg"にも依存することになるため、2つのファイルがフィード上に存在する必要がある。"[ライブラリ名].Library.Runtime.1.0.0.nupkg"のみを依存に追加した場合は予期せぬ動作を引き起こす可能性がある。
実行時 [ライブラリ名].Library.Runtime.1.0.0.nupkg パブリッシュ時に自動的に依存関係が変更されるため、ユーザーによる変更は不要。

参考:
「[設定] ウィンドウのフィールドの説明」

"実行時の依存関係を分離"はUiPath Studio v2023.4で追加された機能です。
ロボットのパフォーマンスを向上させ、パブリッシュしたパッケージのサイズを縮小するため、アクティビティ パッケージとライブラリをデザイン パッケージとランタイム パッケージに分離しました。

参考:
「UiPath Studio > リリースノート > 2023.4.0 > 設計時と実行時の依存関係の分離」