UiPath Studio

UiPath Studio ガイド

依存関係の管理

Studio におけるプロジェクトの依存関係とは、既定またはカスタムのアクティビティを含む特定のプロジェクトにリンクされているパッケージを指します。依存関係は、コンテキストに基づき、各プロジェクトの定義 (使用するアクティビティ、変数、入力/出力引数など) を考慮に入れます。このため、プロジェクトの定義に 1 つ以上の参照が存在する場合にのみ、依存関係が設定されます。

Studio で提供されるプロジェクト テンプレートには、すべてにそれぞれ既定の依存関係パッケージが付属しています。

StudioX の場合は、すべてのプロジェクトに次の既定パッケージが付属しています。UiPath.System.ActivitiesUiPath.ComplexScenarios.ActivitiesUiPath.Excel.ActivitiesUiPath.Mail.ActivitiesUiPath.UIAutomationNext.ActivitiesUiPath.Word.Activities

これ以外のものを追加する場合は、[パッケージを管理 (Manage Packages)] をクリックして、それらをインストールします。インストールした依存関係は、現在のプロジェクトでのみ使用できます。プロジェクトごとの依存関係の一覧は project.json ファイルで確認できます。

[プロジェクト (Project)] パネルには、オートメーションプロジェクトにインストールされているアクティビティパッケージ、そのサブ依存関係、ランタイムルール、要求済み/解決済みのバージョンが表示されます。

依存関係の上にカーソルを合わせると、要求済み/解決済みのバージョンが表示されます。[管理 (Manage)]、[修復 (Repair)]、[依存関係を削除 (Remove Dependency)] などのコンテキストによる操作は、依存関係にのみ使用可能であり、サブパッケージには使用できません。このツリーで、未解決の依存関係は灰色、未検出の依存関係は赤色、解決済みの依存関係は、薄い青色、完全一致の依存関係は濃い青色で表示されます。

依存関係の追加と更新

現在のプロジェクトで新しいバージョンが使用可能になると、リボンの [パッケージを管理 (Manage Packages)] ボタンが更新アイコン イメージ代替テキスト になります。

  1. プロジェクトの依存関係を管理するには、[プロジェクト (Project)] パネルの [依存関係 (Dependencies)] カテゴリを右クリックし、[管理 (Manage)] をクリックします。[パッケージを管理 (Manage Packages)] ウィンドウが開き、[プロジェクト依存関係 (Project Dependencies)] カテゴリが表示されます。イメージ代替テキスト アイコンにより、現在インストールされているパッケージを確認できます。
  1. 既定の依存関係とともに、このプロジェクトに現在リンクされているバージョンが表示されます。パッケージを更新するには、使用可能なバージョン番号の横にある更新アイコン イメージ代替テキスト をクリックします。イメージ代替テキスト アイコンがパッケージの横に表示されている場合、依存関係のインストールが可能であることを表します。
  2. [保存 (Save)] をクリックしてはじめてプロジェクトに依存関係がインストールされます。同時に、プロジェクトに属する project.json ファイル内の依存関係のバージョンが更新されます。

プロジェクトに依存関係を追加するには、必要なアクティビティパッケージを検索してインストールします。詳細については、「パッケージの管理」ページを参照してください。

依存関係の削除

  1. プロジェクトの依存関係を削除するには、[プロジェクト (Project)] パネルの依存関係を右クリックします。
  2. [依存関係を削除 (Remove Dependency)] を選択します。依存関係が [プロジェクト (Project)] パネルと project.json ファイルから削除されます。

または、[パッケージを管理 (Manage Packages)] > [プロジェクト依存関係 (Project Dependencies)] カテゴリで、各依存関係に表示されている [アンインストール (Uninstall)] ボタンをクリックします。

依存関係の修復

Studio で開いたワークフローに、現在の Studio フィードで使用できないバージョンのパッケージへの参照が含まれている場合、該当する依存関係が [プロジェクト (Project)] パネルで破損しているものとしてマークされます。詳細は、[出力 (Output)] パネルで確認できます。

Studio では、すべての依存関係の修復が一括または個別で行えます。破損した依存関係を修復するには、[プロジェクト (Project)] パネルの [依存関係 (Dependencies)] ノードを右クリックし、[依存関係を修復 (Repair Dependencies)] をクリックします。

個別に修復するには、破損した依存関係を右クリックして、[依存関係を修復 (Repair Dependencies)] をクリックします。または、[管理 (Manage)] を選択して、[パッケージを管理 (Manage Packages)] を開き、パッケージを更新することもできます。

NuGet では、最も低い適用可能なバージョン (Lowest Applicable Version) イメージ代替テキスト ランタイムルールを適用することにより、破損した依存関係を修復します。以前設定されていたものよりも高いバージョンの中で最初に適用可能なパッケージバージョンを検索します。

注:

デザイナーパネルでは、存在しないアクティビティや無効なアクティビティがマークされます。また、ワークフローとその解決されない依存関係に関する追加情報がエラーバナーに表示されます。

依存関係のルールを設定する

アクティビティパッケージは複数のバージョンで使用可能です。このため、[パッケージを管理 (Manage Packages)] を使用してこれらのバージョンをインストールまたは更新する際には、これらの各バージョンについて依存関係のランタイムルールを設定できます。

[ランタイムルール (Runtime Rule)] では、ランタイムでインストールするパッケージバージョンを指定します。2 つのオプションを使用できます。

ストリクト (Strict) ランタイムルールは、プロセス作成時に追加される依存関係の既定のステートで、[パッケージを管理 (Manage Packages)] ウィンドウからインストールされるアクティビティパッケージ用です。このルールでは、ランタイム時に指定されたパッケージのバージョンのみを使用して親プロセスを実行します。ストリクト (Strict) ルールは、[プロジェクト (Project)] パネルの [依存関係 (Dependencies)] パッケージバージョンの横に表示される イメージ代替テキスト 記号でマークされます。

最も低い適用可能なバージョン (Lowest Applicable Version) ランタイムルールでは、目的のパッケージが見つからない場合、次に高いバージョンを検索して依存関係の解決に使用します。最も低い適用可能なバージョンルールは、[プロジェクト (Project)] パネルの [依存関係 (Dependencies)] パッケージバージョンの横に表示される イメージ代替テキスト 記号でマークされます。

Studio からオートメーションプロジェクトを実行すると、ロボットはそのプロジェクトの実行のために指定または指示されたパッケージバージョンをダウンロードします。このとき、各プロジェクトに以前設定されたランタイムルールに従います。実行時に使用される依存関係にストリクト (Strict) ランタイムルールが適用されており、完全一致するパッケージバージョンが見つからなかった場合には、エラーがスローされます。プロジェクトの依存関係に関するランタイムルールの設定の詳細については、「依存関係の管理」ページを参照してください。

依存関係の競合を解決する

アクティビティパッケージのインストールでは、該当するパッケージに以前設定した依存関係のランタイムルールを考慮に入れます。それでも、プロジェクトの自動化でバージョン間の競合が発生する可能性があります。自動化プロジェクトとそれを含むライブラリに同じアクティビティパッケージが含まれているとしても、バージョンやランタイムルールが異なる場合があります。デザインタイムで、NuGet は、階層の中で該当するプロジェクトに最も近いトップレベルの依存関係を選択することにより、競合を解決します。

競合の解決は次のように行われます。

プロジェクトにバージョン 1.0 のアクティビティ パッケージが含まれています。このプロジェクトはライブラリを参照しています。ライブラリは同じパッケージの、より高いバージョンを使用します。トップレベルの依存関係である v1.0 が使用されます。ダウングレードが検出されたことを示す警告が表示されます。

この解決方法は、ランタイムルール [ストリクト (Strict)] イメージ代替テキスト であるか[ 最も低い適用可能なバージョン (Lowest Applicable Version)] イメージ代替テキスト) であるかを問わず、以前設定されたアクティビティパッケージに適用可能です。

  • [はい] を選択すると、プロジェクトで参照しているアクティビティ パッケージが、ライブラリで使用されているバージョンにアップグレードされます。
  • [いいえ (No)] を選択した場合、Package Managerが開き、[パッケージを管理 (Manage Packages)] ウィンドウが表示されます。

このプロジェクトに、バージョン 2.0 のアクティビティパッケージが含まれています。ライブラリは同じパックを使用しますがこのパックはより低いバージョンであり、ストリクト (Strict) イメージ代替テキスト ランタイムルールが適用されています。この場合に使用されるトップレベルの依存関係は v2.0 です。このパッケージをプロジェクトにインストールするときに警告が表示されます。


このプロジェクトには、バージョン 2.0 のアクティビティパッケージが含まれています。ライブラリは同じパックを使用しますがこのパックはより低いバージョンであり、[最も低い適用可能なバージョン (Lowest Applicable Version)] イメージ代替テキスト ランタイムルールが適用されています。この場合に使用されるトップレベルの依存関係は v2.0 です。このパッケージをプロジェクトにインストールするときに警告が表示されます。


このプロジェクトは、バージョン 1.0 のアクティビティパッケージを含むライブラリを参照し、[ストリクト (Strict)] イメージ代替テキスト ランタイムルールを適用します。このプロジェクトは、バージョン 2.0 のアクティビティパッケージを含む別のライブラリを参照します。この場合のトップレベルの依存関係は、最高のバージョンである v2.0 のパックになります。アクティビティパッケージをインストールする際に警告が表示されます。


この競合において、このプロジェクトは 2 つのライブラリを参照しています。この 2 つのライブラリは、[ストリクト (Strict)] イメージ代替テキスト な依存関係で相互参照しています。このようなシナリオはサポートされません。詳細については、「依存関係の解決」ページをチェックしてください。


依存関係の循環は、パッケージが自身を参照する場合に発生する競合です。プロジェクト名を「UiPath」とした場合は、Studio は依存関係の競合を検出します。これは、「UiPath」パッケージが既に存在し、UiPath.UIAutomation.Activities に対して依存関係を有するためです。プロジェクトの名前を付ける際には、依存関係として追加しようとする既存パッケージと同じ名前は避けることをお勧めします。

同じ依存関係の循環は、「UiPath」など、依存関係として追加しようとする既存パッケージの名前と同じ名前のフォルダーから .xaml ファイルを開き、そのフォルダーに project.json が存在しない場合にも発生します。関連する project.json ファイルが存在しない .xaml ファイルを開くと、Studio が関連ファイルを作成し、親フォルダーの名前に "name" タグが付加されます。

以前のバージョンで作成したプロジェクトを開く

重要!

Studio v2016.2 で作成されたプロジェクトは、v2020.4 で直接開くことができません。これらのプロジェクトは、まず Studio v2018.4 で開いてから、V2020.4 で開いてください。

v2018.3 より前 (v2016.2 を除く) のバージョンで依存関係あり/なしで作成したプロジェクトを開くと、Studio は欠落している依存関係の取得または既定の依存関係の追加を試みるために、自動移行を実行するかどうかを尋ねます。

自動移行を確認すると、Studio は欠落している依存関係の取得を試みます。検出したパッケージに、ストリクト (Strict) イメージ代替テキスト のランタイムルールを設定します。[プロジェクト (Project)] パネルの [依存関係を修復 (Repair Dependency)] オプションを使用すると、Studio は、次に適切なパッケージバージョンのインストールを試みます。パッケージバージョンが検出されなかった場合、[出力 (Output)] パネルにアラートが表示されます。[パッケージを管理 (Manage Packages)] で、設定したフィードを確認する必要があります。

依存関係を含み、v2018.3 よりも前の Studio で構築されたプロセスは、v2018.3 のロボットにより継続して実行されます。そうしたプロジェクトのランタイムルールは、最も低い適用可能なバージョン (Lowest Applicable Version) イメージ代替テキスト に設定されます。

v2018.3 より前のバージョンで作成されたプロジェクトのうち、パブリッシュされたことのないプロジェクトは、project.json ファイルに依存関係が一覧表示されていません。そのようなプロジェクトを開くと、[出力] パネルのアラートが不足している依存関係を通知します。Studio でローカルに配信された UiPath パッケージはストリクト イメージ代替テキスト ランタイム ルールで依存関係として追加されます。そのようなパッケージの最新バージョンは自動的に設定されます。

そのようなプロジェクトに、Studio でローカルに提供されたもの以外のパッケージが含まれる場合、以下をお勧めします。

  • 作成された Studio バージョンを使用してプロジェクトをパブリッシュし、project.json ファイルに依存関係を追加して移行プロセスを支援します。
  • 必要なフィードを設定した後、パッケージを管理 (Manage Packages)] ウィンドウから不足しているパッケージをインストールします。
  • プロジェクト依存関係一括更新ツールを使用すると、プロジェクトに不足している依存関係を一括で追加します。

注:

無効なアクティビティを含むワークフローは、保存できません。必要な依存関係をインストールし、そのプロジェクトを保存してください。

アクティビティパッケージ UiPath.V7.ActivitiesUiPath.Platform.ActivitiesUiPath.Framework.Activities廃止されています。UiPath.Platform.Activities および UiPath.Framework.Activities のパッケージを持つプロジェクトを開くと、Studio v2018.3 またはそれ以降のバージョンは自動移行を実行し、古いバージョンのアクティビティを新しいバージョンのものに置き換えることを試みます。

重要!

UiPath.V7.Activities パッケージの一部であるアクティビティを含むワークフローは、移行できません

移行が自動的に実行されない一部のケースについては、回避策を用いることができます。

  1. Notepad++ で、project.json ファイルを開きます。
  2. "schemaVersion": "3.2" パラメーターを削除します。
  3. "studioVersion""toolVersion" に置き換えます。
  4. "toolVersion" 値を "18.3.xxx" から以前のバージョンに変更します。たとえば、値を "18.3.0.958" から "18.2.958" に変更します。ファイルを保存します。
  5. 移行を実行するために Studio v2018.3 またはそれ以上のバージョンで .xaml ファイルを開きます。廃止されたアクティビティパッケージが新しいものに置き換わります。これは、[プロジェクト (Project)] パネルの [依存関係 (Dependencies)] セクションで確認できます。

重要!

場合によっては、パッケージ UiPath.Platform.Activities および UiPath.Framework.Activities を含む .xaml ファイルは 移行が自動的に行われず、回避策も適用できないことがあります。このような場合には、プロジェクトを Studio v2018.2 またはそれ以前のバージョンで開き、前述のパッケージに属するアクティビティを UiPath.Core.Activities パッケージに含まれるアクティビティに置き換えることを推奨します。UiPath.V7.Activities パッケージからのアクティビティを含むワークフローについても、同じことができます。

Studio v2018.4.1 以降、Microsoft.Activities v.1.0.1 と Microsoft.Activities.Extensions v2.0.6.9 に UiPathStudio.msi インストーラーにはパッケージ化されなくなりました。

これらのパックを依存関係として含むプロジェクトを移行するときに修復が必要な場合は、公式フィードまたはローカルフィードから 2 つのパッケージをインストールします。v2018.4.1 より前のバージョンで作成されたこのようなプロジェクトを実行する前に、Robot がアクセスできるフィードで前述のパッケージが利用可能であることを確認してください。

v2018.4.1 より前のバージョンからアップグレードする場合、2 つのアクティビティパッケージはローカルフィードに残ります。

3 か月前に更新


依存関係の管理


改善の提案は、API 参照ページでは制限されています

改善を提案できるのは Markdown の本文コンテンツのみであり、API 仕様に行うことはできません。