Could not find member 'Id' in type 'http://schemas.uipath.com/workflow/activities:Target'. Row: 114, Column: 81

今回以下のようなエラーが出ました。
他のフォーラムを見ても「 member ‘Id’ 」にあたるものが見つけられず、
以下の状況・条件でどのように対応したらいいかわかりません。
エラー:Could not find member ‘Id’ in type ‘http://schemas.uipath.com/workflow/activities:Target’. Row: 114, Column: 81

今回は「FindElement」や「Take Screenshot」が表示されないのでpackagesの
UiPath.UIAutomation.Activities のバージョンをあげればよいということで解消できるのですが、バージョンを上げずに解消する方法はありますでしょうか。
image

Uipath19.10.4を使用しているPCが2台あります。
UiPath.UIAutomation.Activities のバージョンは両方とも19.11.1です。
エラーが表示されるxamlファイル(「FindElement」や「Take Screenshot」が表示されない)は、自分で作成したものではありません
PC①で、エラーが表示されるxamlファイルを開くと問題なく、「FindElement」や「Take Screenshot」のアクティビティが表示されます。managepackagesから確認するとUiPath.UIAutomation.Activities はそのxamlを開いているときだけ、20.4.2です。
PC②でエラーが表示されるxamlファイルを開くと今回のエラーが表示され、UiPath.UIAutomation.Activities のバージョンを20.4.2に上げないと使用できません。

なぜ、こんなことが起こるのか、バージョンを上げずに解消する方法はありますでしょうか。

こんにちは

基本的にUiPathのアクティビティは後方互換性はある程度考慮されている場合が多いですが、
前方互換性は考慮されていないと考えたほうが良いです。最初に開発した端末がバージョンが
高い状態(個別にアクティビティパッケージのバージョンをあげた場合も含む)で
別端末のバージョンが低い場合、かつインターネット側への不足アクティビティ取得に
失敗するとこのようなことは容易に起こりえます。

そのため、ワークフローを作成→本番移行する際は、使用するアクティビティパッケージの
バージョンを適切に管理する方が良いと思われます。

バージョンをあげずに解消する方法ですが、お勧めできる方法ではありませんが、
当該xamlファイルを開き、エラーの原因となっている属性を取り除くとエラーが解消できる
場合があります。(表題の場合、当該行のId属性を削除します。)

ただし、元のワークフローがその設定に依存するつくりをしていると、当然ながら
正常動作しない可能性もあります。そのため基本的には動作しない端末で、アクティビティ
パッケージのバージョンをあげるか、低いバージョンでワークフローを作り直すかの
選択になると思います。

1 Like

ありがとうございます!
低いバージョンでワークフローを作り直すことにしました。
的確なアドバイス大変助かりました。以後気をつけたいと思います。
ありがとうございました

1 Like