Studio におけるプロジェクトの依存関係とは、既定またはカスタムのアクティビティを含む特定のプロジェクトにリンクされているパッケージを指します。依存関係は、コンテキストに基づき、各プロジェクトの定義 (使用するアクティビティ、変数、入力/出力引数など) を考慮に入れます。このため、プロジェクトの定義に 1 つ以上の参照が存在する場合にのみ、依存関係が設定されます。
Studio で提供されるプロジェクト テンプレートには、すべてにそれぞれ既定の依存関係パッケージが付属しています。
StudioX の場合は、すべてのプロジェクトに次の既定パッケージが付属しています。UiPath.System.Activities
、UiPath.ComplexScenarios.Activities
、UiPath.Excel.Activities
、UiPath.Mail.Activities
、UiPath.Presentations.Activities
、UiPath.UIAutomation.Activities
、UiPath.Word.Activities
。
これ以外のものを追加する場合は、[パッケージを管理] をクリックして、それらをインストールします。インストールした依存関係は、現在のプロジェクトでのみ使用できます。プロジェクトごとの依存関係のリストは project.json
ファイルで確認できます。
[プロジェクト] パネルには、オートメーション プロジェクトにインストールされているアクティビティ パッケージ、そのサブ依存関係、ランタイム ルール、要求済み/解決済みのバージョンが表示されます。

依存関係の上にカーソルを合わせると、要求済み/解決済みのバージョンが表示されます。[管理]、[修復]、[依存関係を削除] などのコンテキストによる操作は、依存関係にのみ使用可能であり、サブパッケージには使用できません。このツリーで、未解決の依存関係は灰色、未検出の依存関係は赤色、解決済みの依存関係は、薄い青色、完全一致の依存関係は濃い青色で表示されます。
依存関係を追加・更新する
現在のプロジェクトで新しいバージョンが使用可能になると、リボンの [パッケージを管理] ボタンが更新アイコン になります。
- プロジェクトの依存関係を管理するには、[プロジェクト] パネルの [依存関係] カテゴリを右クリックし、[管理] をクリックします。[パッケージを管理] ウィンドウが開き、[プロジェクト依存関係] カテゴリが表示されます。
アイコンにより、現在インストールされているパッケージを確認できます。

- 既定の依存関係とともに、このプロジェクトに現在リンクされているバージョンが表示されます。パッケージを更新するには、使用可能なバージョン番号の横にある更新アイコン
をクリックします。
アイコンがパッケージの横に表示されている場合、依存関係のインストールが可能であることを表します。
- [保存] をクリックしてはじめてプロジェクトに依存関係がインストールされます。同時に、プロジェクトに属する
project.json
ファイル内の依存関係のバージョンが更新されます。
プロジェクトに依存関係を追加するには、アクティビティ パッケージ同様に検索してインストールするだけです。詳細については、「パッケージの管理」ページをご覧ください。
依存関係を削除する
- プロジェクトの依存関係を削除するには、[プロジェクト] パネルの依存関係を右クリックします。
- [依存関係を削除] を選択します。依存関係が [プロジェクト] パネルと
project.json
ファイルから削除されます。
または、[パッケージを管理] > [プロジェクト依存関係] カテゴリで、各依存関係に表示されている [アンインストール] ボタンをクリックします。
依存関係を修復する
Studio で開いたワークフローに、現在の Studio フィードで使用できないバージョンのパッケージへの参照が含まれている場合、該当する依存関係が [プロジェクト] パネルで破損しているものとしてマークされます。詳細は、[出力] パネルで確認できます。
Studio では、すべての依存関係の修復が一括または個別で行えます。破損した依存関係を修復するには、[プロジェクト] パネルの [依存関係] ノードを右クリックし、[依存関係を修復] をクリックします。
個別に修復するには、破損した依存関係を右クリックして、[依存関係を修復] をクリックします。または、[管理] を選択して、[パッケージを管理] を開き、パッケージを更新することもできます。
NuGet では、最も低い適用可能なバージョン ランタイム ルールを適用することにより、破損した依存関係を修復します。以前設定されていたものよりも高いバージョンの中で最初に適用可能なパッケージ バージョンを検索します。

注:
デザイナーパネルでは、存在しないアクティビティや無効なアクティビティがマークされます。また、ワークフローとその解決されない依存関係に関する追加情報がエラーバナーに表示されます。
依存関係のルールを設定する
アクティビティ パッケージは複数のバージョンで使用可能です。このため、[パッケージを管理] を使用してこれらのバージョンをインストールまたは更新する際には、これらの各バージョンについて依存関係のランタイム ルールを設定できます。

[ランタイム ルール] では、ランタイムでインストールするパッケージ バージョンを指定します。2 つのオプションを使用できます。
ストリクト ランタイム ルールは、プロセス作成時に追加される依存関係の既定のステートで、[パッケージを管理] ウィンドウからインストールされるアクティビティ パッケージ用です。このルールでは、ランタイム時に指定されたパッケージのバージョンのみを使用して親プロセスを実行します。ストリクト ルールは、[プロジェクト] パネルの [依存関係] パッケージ バージョンの横に表示される 記号でマークされます。
[最も低い適用可能なバージョン] ランタイム ルールでは、目的のパッケージが見つからない場合は、依存関係を解決するために、そのバージョンよりも前で最新のバージョンを検索します。[最も低い適用可能なバージョン] ルールは、[プロジェクト] パネルの [依存関係] パッケージ バージョンの横に表示される 記号でマークされます。
Studio からオートメーション プロジェクトを実行すると、ロボットはそのプロジェクトの実行のために指定または指示されたパッケージ バージョンをダウンロードします。このとき、各プロジェクトに以前設定されたランタイム ルールに従います。実行時に使用される依存関係にストリクト ランタイム ルールが適用されており、完全一致するパッケージ バージョンが見つからなかった場合には、エラーがスローされます。プロジェクトの依存関係に関するランタイム ルールの設定の詳細については、「依存関係の管理」ページをご覧ください。
依存関係の競合を解決する
アクティビティ パッケージのインストールでは、該当するパッケージに以前設定した依存関係のランタイム ルールを考慮に入れます。それでも、プロジェクトの自動化でバージョン間の競合が発生する可能性があります。オートメーション プロジェクトとそれを含むライブラリに同じアクティビティ パッケージが含まれているとしても、バージョンやランタイム ルールが異なる場合があります。デザインタイムで、NuGet は、階層の中で該当するプロジェクトに最も近いトップレベルの依存関係を選択することにより、競合を解決します。
競合の解決は次のように行われます。

プロジェクトにバージョン 1.0 のアクティビティ パッケージが含まれています。このプロジェクトはライブラリを参照しています。ライブラリは同じパッケージの、より高いバージョンを使用します。トップレベルの依存関係である v1.0 が使用されます。ダウングレードが検出されたことを示す警告が表示されます。
この解決方法は、ランタイム ルール ([ストリクト] であるか [最も低い適用可能なバージョン]
であるか)を問わず、以前設定されたアクティビティ パッケージに適用可能です。

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

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

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

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

この競合において、このプロジェクトは 2 つのライブラリを参照しています。この 2 つのライブラリは、[ストリクト] な依存関係で相互参照しています。このようなシナリオはサポートされません。詳細については、「依存関係の解決」ページをチェックしてください。
依存関係の循環は、パッケージが自身を参照する場合に発生する競合です。プロジェクト名を「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 は欠落している依存関係の取得を試みます。検出したパッケージに、ストリクト のランタイム ルールを設定します。[プロジェクト] パネルの [依存関係を修復] オプションを使用すると、Studio は、次に適切なパッケージ バージョンのインストールを試みます。パッケージ バージョンが検出されなかった場合、[出力] パネルにアラートが表示されます。[パッケージを管理] で、設定したフィードを確認する必要があります。
依存関係を含み、v2018.3 よりも前の Studio で構築されたプロセスは、v2018.3 の Robot により継続して実行されます。そうしたプロジェクトのランタイム ルールは、最も低い適用可能なバージョン に設定されます。
v2018.3 より前のバージョンで作成されたプロジェクトのうち、パブリッシュされたことのないプロジェクトは、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
パッケージからのアクティビティを含むワークフローについても、同じことができます。
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 つのアクティビティ パッケージはローカル フィードに残ります。
2 年前に更新