パッケージ「UiPath.Platform」「UiPath.Telemetry.Client」って何?

こんにちは。いつも勉強させて頂いております。

表題のパッケージについて「入れないとエラーになるけど入れたらちゃんと動いた」という状態で、
今現在すごく困っている!というわけではないのですが。

ちょっと前置きが長文になりますが、お時間があればお付き合いいただければと思います。

(前置き)
最近Box(クラウドストレージ)へファイルを格納するワークフローを作成しており、
その際に「UiPath.Box.Activities」というパッケージがつい先日公開(プレリリース)されたことを
知りました。
で、早速使い勝手を調査するためにテストプロジェクトを作成し、
パッケージをオフィシャルフィードからインストールしようとしたところ、

アセンブリを読み込めません: 
C:\Users\xxxxxx\.nuget\packages\uipath.box.activities/1.1.1-preview\lib/net461/UiPath.Box.dll : 
System.IO.FileNotFoundException: ファイルまたはアセンブリ 'TelemetryClient, Version=1.2.20.0, Culture=neutral, PublicKeyToken=null'、またはその依存関係の 1 つが読み込めませんでした。
指定されたファイルが見つかりません。

といったエラーが出てインストールに失敗しました。
エラー内容をヒントにオフィシャルフィードから検索すると
「UiPath.Telemetry.Client」というパッケージが見つかったので、これを先にインストールしたところ、
「UiPath.Box.Activities」も正常にインストールができました。

その後、Box側であれやこれや設定してBoxサーバへの認証情報を取得し、
BoxScopeというアクティビティでBoxサーバへ接続できたことが確認できたので、
試しにルートフォルダの情報を取得しようと、それ用のアクティビティを配置して
ワークフローを実行したところ、

RemoteException wrapping System.TypeInitializationException:  
'UiPath.BAF.Telemetry.TelemetryProvider' のタイプ初期化子が例外をスロー 
しました。  ---> RemoteException wrapping  
System.IO.FileNotFoundException: ファイルまたはアセンブリ  
'UiPath.Platform, Version=20.4.0.0, Culture=neutral,  
PublicKeyToken=null'、またはその依存関係の 1 つが読み込めませんでした。 
指定されたファイルが見つかりません。

というエラーが実行時に出てしまいました。
これまたエラー内容からオフィシャルフィードを検索し「UiPath.Platform」をインストールしたところ
エラーは解消され、無事フォルダ情報を取得することができました。

(本題)
とりあえずエラーメッセージの指示?に従ってパッケージを順次インストールすることで
ワークフローは動作するようになったのですが、
インストールしたこの二つのパッケージは何をつかさどるものなのでしょうか?
(本来は単体でインストールするようなものではなく、何かのパッケージに
セットで付いてくるようなものだったりするのでしょうか。)

漠然とした質問となってしまいますが、知恵をお借りできればと考えております。
よろしくお願いいたします。

こんにちは

このアクティビティパッケージの参照や、サポートしているバージョンあたりが、かなり微妙ですね。まだPreview版ということもあるかもしれませんが。

例えば手元の環境ですと
互換性のあると記述されている、UiPath 2019.10.5ですと、
TelemetryClient.dll 1.2.20は同梱されていますが
UiPath.Platform20.4は同梱されていません。

UiPath20.4.1ですと
TelemetryClient.dll 1.1.12が同梱。1.2.20は同梱されていない。
UiPath.Platform20.4はnupkgとして同梱されている。

UiPath20.8.0beta0278 (CE)ですと
TelemetryClient.dll 1.2.20は同梱されていますが
UiPath.Platform20.4は同梱されていません。20.8.0previewがnupkgとして同梱

といった感じなので、インストールするUiPathのバージョンによって、追加コンポーネントの要否が
変わってきそうな感じです。
元々製品内に同梱されているものなので、利用に関してはそれほど神経質になるようなものではないと思います。(UiPath.Platform.dllの方は共通のライブラリ集、Telemetry.Client.dllは通信関係のライブラリかと思います。)

2 Likes

ありがとうございます、大変勉強になります。
今更ながら当方環境のStudioのバージョンを記載し忘れておりました。
(2019.10.4です。ご参考までに。)

おおまかには
・UiPath.Box.Activitiesが各dllを要求しているものの、
UiPathに同梱されていない場合はnupkgを通してプロジェクトごとに参照をさせてやる必要がある
・同梱されているかどうかはUiPathのバージョンによって結構まちまち
・なので必要に応じてプロジェクトごとにパッケージをインストールしてやる
という感じですかね。

ご回答、あらためてありがとうございました。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.