- リリース ノート
- 基本情報
- セットアップと構成
- オートメーション プロジェクト
- 依存関係
- ワークフローの種類
- ファイルの比較
- オートメーションのベスト プラクティス
- ソース管理との連携
- デバッグ
- 診断ツール
- 変数
- 引数
- インポートされた名前空間
- トリガーベースの有人オートメーション
- レコーディング
- UI 要素
- 制御フロー
- セレクター
- オブジェクト リポジトリ
- データ スクレイピング
- 画像とテキストの自動化
- Citrix テクノロジの自動化
- RDP の自動化
- Salesforce の操作の自動化
- SAP のオートメーション
- VMware Horizon の自動化
- ログ
- ScreenScrapeJavaSupport ツール
- Webdriver プロトコル
- Test Suite - Studio
- 拡張機能
- トラブルシューティング
依存関係を管理する
Studio におけるプロジェクトの依存関係とは、既定またはカスタムのアクティビティを含む特定のプロジェクトにリンクされているパッケージを指します。依存関係は、コンテキストに基づき、各プロジェクトの定義 (使用するアクティビティ、変数、入力/出力引数など) を考慮に入れます。このため、プロジェクトの定義に 1 つ以上の参照が存在する場合にのみ、依存関係が設定されます。
Studio では、プロジェクトの既定の依存関係は、プロジェクトの種類、対応 OS、またはプロジェクトの作成に使用したテンプレートによって異なります。
UiPath.System.Activities
、UiPath.ComplexScenarios.Activities
、UiPath.Excel.Activities
、UiPath.Mail.Activities
、UiPath.Presentations.Activities
、UiPath.UIAutomation.Activities
、UiPath.Word.Activities
。
project.json
ファイルで確認できます。
[プロジェクト] パネルには、オートメーション プロジェクトにインストールされているアクティビティ パッケージと、その下位依存関係、ランタイム ルール、要求済み/解決済みのバージョンが表示されます。また、プロジェクトの対応OS は [依存関係] ノードに表示されます。
依存関係の上にホバーすると、要求済み/解決済みのバージョンが表示されます。[管理]、[修復]、[依存関係を削除] などのコンテキストによる操作は、依存関係にのみ使用可能であり、サブパッケージには使用できません。
- 赤 - 依存関係が見つかりませんでした。
- オレンジ - サブパッケージが見つかりませんでした。
- 灰色 - 依存関係は未解決です。
- 薄い青 - 解決されたバージョンのほうが要求されたバージョンよりも高くなっています。
- 濃い青 - 要求されたバージョンと解決されたバージョンは完全に一致しています。
プロジェクトに依存関係を追加するには、[パッケージを管理] ウィンドウからインストールします。利用可能なパッケージは、プロジェクトの対応 OS によって異なります。
現在のプロジェクトで新しいバージョンが使用可能になると、リボンの [パッケージを管理] ボタンが更新アイコン になります。
-
プロジェクトの依存関係を管理するには、[プロジェクト] パネルの [依存関係] カテゴリを右クリックし、[管理] をクリックします。[パッケージを管理] ウィンドウが開き、[プロジェクト依存関係] カテゴリが表示されます。 アイコンにより、現在インストールされているパッケージを確認できます。
- 既定の依存関係とともに、このプロジェクトに現在リンクされているバージョンが表示されます。パッケージを更新するには、使用可能なバージョン番号の横にある更新アイコン をクリックします。 アイコンがパッケージの横に表示されている場合、依存関係のインストールが可能であることを表します。
- [保存] をクリックしてはじめてプロジェクトに依存関係がインストールされます。同時に、プロジェクトに属する
project.json
ファイル内の依存関係のバージョンが更新されます。
-
プロジェクトの依存関係を削除するには、[プロジェクト] パネルの依存関係を右クリックして、[依存関係の削除] をクリックします。依存関係が [プロジェクト] パネルと
project.json
ファイルから削除されます。[パッケージを管理] > [プロジェクト依存関係] に移動し、削除する依存関係を選択して [アンインストール] をクリックすることもできます。
- プロジェクト内の未使用の依存関係をすべて削除するには、Studio のリボンで [未使用を削除] > [依存関係] を選択するか、キーボード ショートカット Ctrl + Shift + R を使用します。現在のプロジェクト内の参照のないすべてのインストール済みパッケージが、[プロジェクト] パネルと
project.json
ファイルから削除されます。
Studio で開いたワークフローに、現在の Studio フィードで使用できないバージョンのパッケージへの参照が含まれている場合、該当する依存関係が [プロジェクト] パネルで破損しているものとしてマークされます。詳細は、[出力] パネルで確認できます。
Studio では、すべての依存関係の修復が一括または個別で行えます。破損した依存関係を修復するには、[プロジェクト] パネルの [依存関係] ノードを右クリックし、[依存関係を修復] をクリックします。
個別に修復するには、破損した依存関係を右クリックして、[依存関係を修復] をクリックします。または、[管理] を選択して、[パッケージを管理] を開き、パッケージを更新することもできます。
NuGet では、最も低い適用可能なバージョン ランタイム ルールを適用することにより、破損した依存関係を修復します。以前設定されていたものよりも高いバージョンの中で最初に適用可能なパッケージ バージョンを検索します。
対象のバージョンが見つからない場合、修復機能では次に使用可能な上位バージョンが自動的に使用されます。なお、この動作はフィードの設定によって異なります。
アクティビティ パッケージは複数のバージョンで使用可能です。このため、[パッケージを管理] を使用してこれらのバージョンをインストールまたは更新する際には、これらの各バージョンについて依存関係のランタイム ルールを設定できます。
[ランタイム ルール] では、ランタイムでインストールするパッケージ バージョンを指定します。2 つのオプションを使用できます。
ストリクト ランタイム ルールは、プロセス作成時に追加される依存関係の既定のステートで、[パッケージを管理] ウィンドウからインストールされるアクティビティ パッケージ用です。このルールでは、ランタイム時に指定されたパッケージのバージョンのみを使用して親プロセスを実行します。ストリクト ルールは、[プロジェクト] パネルの [依存関係] パッケージ バージョンの横に表示される 記号でマークされます。
最も低い適用可能なバージョン ランタイム ルールでは、目的のパッケージが見つからない場合、次に高いバージョンを検索して依存関係の解決に使用します。最も低い適用可能なバージョン ルールは、[プロジェクト] パネルの [依存関係] パッケージ バージョンの横に表示される 記号でマークされます。
Studio からオートメーション プロジェクトを実行すると、ロボットはそのプロジェクトの実行のために指定または指示されたパッケージ バージョンをダウンロードします。このとき、各プロジェクトに以前設定されたランタイム ルールに従います。実行時に使用される依存関係にストリクト ランタイム ルールが適用されており、完全一致するパッケージ バージョンが見つからなかった場合には、エラーがスローされます。プロジェクトの依存関係に関するランタイム ルールの設定の詳細については、「依存関係の管理」ページをご覧ください。
アクティビティ パッケージのインストールでは、該当するパッケージに以前設定した依存関係のランタイム ルールを考慮に入れます。それでも、プロジェクトの自動化でバージョン間の競合が発生する可能性があります。オートメーション プロジェクトとそれを含むライブラリに同じアクティビティ パッケージが含まれているとしても、バージョンやランタイム ルールが異なる場合があります。デザインタイムで、NuGet は、階層の中で該当するプロジェクトに最も近いトップレベルの依存関係を選択することにより、競合を解決します。
競合の解決は次のように行われます。
プロジェクトにバージョン 1.0 のアクティビティ パッケージが含まれています。このプロジェクトはライブラリを参照しています。ライブラリは同じパッケージの、より高いバージョンを使用します。トップレベルの依存関係である v1.0 が使用されます。ダウングレードが検出されたことを示す警告が表示されます。
この解決方法は、ランタイム ルール ([ストリクト] であるか [最も低い適用可能なバージョン]] であるか) を問わず、以前設定されたアクティビティ パッケージに適用可能です。
- [はい] を選択すると、プロジェクトで参照しているアクティビティ パッケージが、ライブラリで使用されているバージョンにアップグレードされます。
-
[いいえ] を選択した場合、Package Manager が開き、[パッケージを管理] ウィンドウが表示されます。
このプロジェクトに、バージョン 2.0 のアクティビティ パッケージが含まれています。ライブラリは同じパッケージを使用しますがこのパッケージはより低いバージョンであり、ストリクト ランタイム ルールが適用されています。この場合に使用されるトップ レベルの依存関係は v2.0 です。このパッケージをプロジェクトにインストールするときに警告が表示されます。
このプロジェクトには、バージョン 2.0 のアクティビティ パッケージが含まれています。ライブラリは同じパッケージを使用しますがこのパッケージはより低いバージョンであり、[最も低い適用可能なバージョン] ランタイム ルールが適用されています。この場合に使用されるトップレベルの依存関係は v2.0 です。このパッケージをプロジェクトにインストールするときに警告が表示されます。
このプロジェクトは、バージョン 1.0 のアクティビティ パッケージを含むライブラリを参照し、[ストリクト] ランタイム ルールを適用します。このプロジェクトは、バージョン 2.0 のアクティビティ パッケージを含む別のライブラリを参照します。この場合のトップ レベルの依存関係は、最高のバージョンである v2.0 のパッケージになります。アクティビティ パッケージをインストールする際に警告が表示されます。
この競合において、このプロジェクトは 2 つのライブラリを参照しています。この 2 つのライブラリは、[ストリクト] な依存関係で相互参照しています。このようなシナリオはサポートされません。詳細については、「依存関係の解決」をご覧ください。
UiPath.UIAutomation.Activities
に対して依存関係を有するためです。プロジェクトの名前を付ける際には、依存関係として追加しようとする既存パッケージと同じ名前は避けることをお勧めします。
.xaml
ファイルを開き、そのフォルダーに project.json
が存在しない場合にも発生します。関連する project.json
ファイルが存在しない .xaml
ファイルを開くと、Studio が関連ファイルを作成し、親フォルダーの名前に "name"
タグが付加されます。
v2018.3 より前 (v2016.2 を除く) のバージョンで依存関係あり/なしで作成したプロジェクトを開くと、Studio は欠落している依存関係の取得または既定の依存関係の追加を試みるために、自動移行を実行するかどうかを尋ねます。
自動移行を確認すると、Studio は不足している依存関係の取得を試みます。その後、検出したパッケージにストリクト のランタイム ルールを設定します。[プロジェクト] パネルの [依存関係を修復] オプションを使用すると、Studio は次に適切なパッケージ バージョンのインストールを試みます。パッケージ バージョンが検出されなかった場合、[出力] パネルにアラートが表示されます。その際は、設定したフィードを [パッケージを管理] ウィンドウで確認する必要があります。
依存関係を含み、v2018.3 よりも前の Studio で構築されたプロセスは、v2018.3 の Robot により継続して実行されます。そうしたプロジェクトのランタイム ルールは、最も低い適用可能なバージョン に設定されます。
project.json
ファイルに依存関係が記載されていません。そのようなプロジェクトを開くと、[出力] パネルのアラートが不足している依存関係を通知します。Studio でローカルに配信された UiPath パッケージはストリクト ランタイム ルールで依存関係として追加されます。そのようなパッケージの最新バージョンは自動的に設定されます。
そのようなプロジェクトに、Studio でローカルに提供されたもの以外のパッケージが含まれる場合、以下をお勧めします。
- 作成された Studio バージョンを使用してプロジェクトをパブリッシュし、
project.json
ファイルに依存関係を追加して移行プロセスを支援します。 - 必要なフィードを設定した後、[パッケージを管理] ウィンドウから不足しているパッケージをインストールします。
-
プロジェクト依存関係一括更新ツールを使用すると、プロジェクトに不足している依存関係を一括で追加します。
注: 無効なアクティビティを含むワークフローは、保存できません。必要な依存関係をインストールし、そのプロジェクトを保存してください。
UiPath.V7.Activities
、UiPath.Platform.Activities
、UiPath.Framework.Activities
は廃止されました。UiPath.Platform.Activities
および UiPath.Framework.Activities
のパッケージを持つプロジェクトを開くと、Studio v2018.3 またはそれ以降のバージョンは自動移行を実行し、古いバージョンのアクティビティを新しいバージョンのものに置き換えることを試みます。
UiPath.V7.Activities
パッケージの一部であるアクティビティを含むワークフローは、移行できません。
移行が自動的に実行されない一部のケースについては、回避策を用いることができます。
- Notepad++ で、
project.json
ファイルを開きます。 "schemaVersion": "3.2"
パラメーターを削除します。"studioVersion"
を"toolVersion"
に置き換えます。"toolVersion"
値を"18.3.xxx"
から以前のバージョンに変更します。たとえば、値を"18.3.0.958"
から"18.2.958"
に変更します。ファイルを保存します。-
移行を実行するために Studio v2018.3 またはそれ以上のバージョンで
.xaml
ファイルを開きます。廃止されたアクティビティ パッケージは新しいもので置き換えられます。これは、[プロジェクト] パネルの [依存関係] セクションで確認できます。注: 場合によっては、パッケージUiPath.Platform.Activities
およびUiPath.Framework.Activities
を含む.xaml
ファイルは 移行が自動的に行われず、回避策も適用できないことがあります。このような場合には、プロジェクトを Studio v2018.2 またはそれ以前のバージョンで開き、前述のパッケージに属するアクティビティをUiPath.Core.Activities
パッケージに含まれるアクティビティに置き換えることを推奨します。UiPath.V7.Activities
パッケージからのアクティビティを含むワークフローについても、同じことができます。
UiPathStudio.msi
インストーラーにはパッケージ化されなくなりました。
これらのパッケージを依存関係として含むプロジェクトを移行するときに修復が必要な場合は、公式フィードまたはローカル フィードから 2 つのパッケージをインストールします。v2018.4.1 より前のバージョンで作成されたこのようなプロジェクトを実行する前に、Robot がアクセスできるフィードで前述のパッケージが利用可能であることを確認してください。
v2018.4.1 より前のバージョンからアップグレードする場合、2 つのアクティビティ パッケージはローカル フィードに残ります。