同一環境でのUIPATHの設定であるのにWFが起動しない

activities

#1

AとBに同一のUIPATH環境があった場合を仮定してです。
windows/officeも同一です。

Aの端末で問題なくWFが動作したのにB端末ではエラーとなります。
インストールしているUIPATHのバージョン・manage packagesも同一です。
処理としては、main.xamlからinvoke wfを利用して処理をしています。
利用しているxanlファイルは共有サーバーにありドライブも同一です。
すべてのwfで発生するわけでなくinvoke wfに関係ある感じです。

またエラーメッセージはdllファイルが干渉しているみたいです。

ご教示いただければと思います。

エラー内容ですが、
Main has thrown an exception

Source: Invoke workflow file: UiPath.Core.Activities

Message: The invoked workflow ‘抽出処理’ has validation errors. Please review the workflow and resolve the errors.

Exception Type: Exception

System.Exception: The invoked workflow ‘抽出処理’ has validation errors. Please review the workflow and resolve the errors. —> System.Activities.InvalidWorkflowException: The following errors were encountered while processing the workflow tree:
‘抽出処理’: The private implementation of activity ‘1: 抽出処理’ has the following validation error: Compiler error(s) encountered processing expression “VRangeV”.
型 ‘Newtonsoft.Json.Linq.JArray’ の値を ‘Newtonsoft.Json.Linq.JArray’ に変換できません。型の不一致は、プロジェクト ‘vbhost’ の ‘C:\Users\S6\AppData\Local\Temp\nuget\DH.GitHub.Activities.1.3.1.5\lib\net452\Newtonsoft.Json.dll’ へのファイル参照とプロジェクト ‘vbhost’ の ‘C:\Users\S6\AppData\Local\Temp\nuget\Baidu.VatInvoice.Ocr.Activities.1.0.4\lib\Newtonsoft.Json.dll’ へのファイル参照との混合によって生じた可能性があります。両方のアセンブリが同一である場合は、同じ場所から参照するようにこれらの参照を置き換えてください。


#2

これはちょっとややこしい問題ですね……

どこまで改善するかちょっと自信が無いのですが、一度、

%localappdata%\temp\nuget\

にあるファイル・フォルダを一度、まとめて削除してみてください。意外とあっさり解決することもあります。
(それで駄目な場合、使用しているWorkflowが依存しているパッケージ同士の依存関係の競合なので、バージョン設定の変更等で何とかするしかない、かもしれないです)


#3

今回のエラーは、Deserialize JSON Arrayを利用した場合、Newtonsoft.Json.dllが複数のアクティビティパッケージで利用されていました。
どのアクティビティパッケージでNewtonsoft.Json.dllが利用されているか確認し不要と思うアクティビティパッケージをuninstallしてかつ、C:\Users\ユーザー名\AppData\Local\Temp\nugetのパッケージファイルを削除ではなく、リネームしました。
Deserialize JSON Arrayアクティビティのパッケージは、Newtonsoft.Json.x.x.xと分かったのでこれを残すようにしました。

質問ですが、
C:\Users\ユーザー名.nuget\packagesにアクティビティパッケージがあるのになぜ、
C:\Users\ユーザー名\AppData\Local\Temp\nugetの下にもあるのでしょうか。


#4

Temp配下は文字通りTemporarily(一時的な)フォルダなので、内部的な処理のために展開しているのだと思います。

UiPathに限らない一般論になりますが、通常、tempフォルダの中身はユーザーが直接どうこうする場所ではないです。
ユーザーが能動的に操作するとしたら、いわゆるcache的な使い方をしていて、誤動作が疑われるときに削除するぐらいでしょうか。(上に書いたケースはまさにそれに該当します)


#5

色々ありがとうございます。
エラーを発生させる環境を構築しました。

C:\Users\ユーザー名\AppData\Local\Temp\nuget の配下にもアクティビティパッケージができていました。
実行したところ同様のエラーが発生しました。
Main has thrown an exception

Source: Invoke workflow file: UiPath.Core.Activities
Message: The invoked workflow ‘抽出処理’ has validation errors. Please review the workflow and resolve the errors.
Exception Type: Exception
System.Exception: The invoked workflow ‘抽出処理’ has validation errors. Please review the workflow and resolve the errors. —> System.Activities.InvalidWorkflowException: The following errors were encountered while processing the workflow tree:
‘抽出処理’: The private implementation of activity ‘1: 抽出処理’ has the following validation error: Compiler error(s) encountered processing expression “VRangeV”.
型 ‘Newtonsoft.Json.Linq.JArray’ の値を ‘Newtonsoft.Json.Linq.JArray’ に変換できません。型の不一致は、プロジェクト ‘vbhost’ の ‘C:\Users\S6\AppData\Local\Temp\nuget\DH.GitHub.Activities.1.3.1.5\lib\net452\Newtonsoft.Json.dll’ へのファイル参照とプロジェクト ‘vbhost’ の ‘C:\Users\S6\AppData\Local\Temp\nuget\Baidu.VatInvoice.Ocr.Activities.1.0.4\lib\Newtonsoft.Json.dll’ へのファイル参照との混合によって生じた可能性があります。両方のアセンブリが同一である場合は、同じ場所から参照するようにこれらの参照を置き換えてください。

C:\Users\ユーザー名\AppData\Local\Temp\nugetのフォルダを丸ごと削除して実行したところ
多分、キャッシュとしてC:\Users\ユーザー名\AppData\Local\Temp\nuget配下にアクティビティパッケージが作成されており同様のエラーがでました。

どのタイミングででるか確認したところ、UIPATHが起動した時点で、キャッシュとしてC:\Users\ユーザー名\AppData\Local\Temp\nuget配下にアクティビティパッケージが作成されていました。

ご教示された、使用しているWorkflowが依存しているパッケージ同士の依存関係の競合なので、バージョン設定の変更等でしか対応できないものでしょうか。


#6

そうですね……あと、

Baidu.VatInvoice.Ocr.Activities
DH.GitHub.Activities

どちらか使っていないものがあれば一時的に削除する、でも良いと思います。

UiPath 18.3以降だと、ワークフロープロジェクトごとに依存関係の設定ができるので、こういう問題は割と何とかなるのですが……。


#7

本当にありがとうございます。

不要なアクティビティパッケージは削除する方向で行きます。
正直なところUIと青の白抜きであるものは、UIPATHの純正アクティビティパッケージと考えています。それ以外でインストールされたのは、勝手ながらサードパーティ製?と思いどのような機能があるのか正直わからない状態でしたので整理したく思います。

現在、UIPATH18.2.3ですがオーケストレータのバージョンアップ後もstudio,robotともバージョンアップを考えています。