Studio
2022.10
False
横幅背景图像
Studio 用户指南
上次更新日期 2024年4月26日

管理依赖项

Studio 中的项目依赖项是指链接到特定项目的包,其中包含了默认活动或自定义活动。依赖项与上下文有关,并且需要考虑每个项目的定义,包括变量、输入/输出参数以及项目使用的活动。因此,仅当项目定义中至少有一个引用时,才会设置依赖项。

在 Studio 中,项目的默认依赖项因项目类型、兼容性或用于创建项目的模板而异。

在 StudioX 中,所有的项目都使用下列默认包:UiPath.System.ActivitiesUiPath.ComplexScenarios.ActivitiesUiPath.Excel.ActivitiesUiPath.Mail.ActivitiesUiPath.Presentations.ActivitiesUiPath.UIAutomation.ActivitiesUiPath.Word.Activities
如果需要添加更多包,可单击功能区中的“管理包”按钮并进行安装。安装的依赖项仅可供当前项目使用,各个项目的依赖项列表则可在 project.json 文件中查看。

项目”面板中显示自动化项目中安装的活动包,以及它们的子依赖项、运行时规则、已请求及已解决的版本。项目兼容性将显示在“依赖项”节点中。



将光标悬停在依赖项上可查看已请求和已解决的版本。“管理”、“修复”或“删除依赖项”等上下文操作仅适用于依赖项,不适用于其子包。未解决的依赖项在树中用灰色标记,未找到的依赖项用红色标记,而已解决和完全匹配的依赖项则使用阴影和深蓝色标记。

添加和更新依赖项

若要向项目添加依赖项,请在“管理包”窗口中安装这些依赖项。请注意,可用包因项目兼容性而异。

每当有新版本可用于当前项目依赖项时,功能区中的“管理包”按钮将显示更新图标

  1. 要管理项目中的依赖项,只需右键单击“项目”面板中的“依赖项”类别,然后单击“管理”。这将打开“管理包”窗口,其中包含“项目依赖项”类别。 图标显示当前安装的包。



  2. 将显示默认依赖项以及当前链接到项目的版本。要更新包,只需单击可用版本号旁边的更新图标 docs imagedocs image 图标显示在包的旁边,这意味着依赖项已经可供安装了。
  3. 只有在单击“保存”之后,才会在项目中安装依赖项。同时,还会在属于项目的 project.json 文件中更新依赖项的版本。

删除依赖项

  • 要删除项目依赖项,请右键单击“项目”面板中的依赖项,然后选择“删除依赖项”。依赖项即从“项目”面板和 project.json 文件中删除。

    或者,您可以转到“管理程序包”>“项目依赖项”,选择要删除的依赖项,然后单击“卸载”

  • 要删除项目中所有未使用的依赖项,请在 Studio 功能区中选择“删除未使用项”>“依赖项”,或使用“Ctrl + Shift + R”键盘快捷键。当前项目中没有引用的所有已安装程序包都将从“项目”面板和 project.json 文件中删除。

修复依赖项

如果在 Studio 中打开的工作流引用了某些包,而这些包的版本在当前 Studio 订阅源中不可用,则表示依赖项在“项目”面板中标记为断开,而且“输出”面板中将提供详细信息。

Studio 允许批量或单独修复所有依赖项。要修复所有损坏的依赖项,请右击“项目”面板中的“依赖项”节点,然后单击“修复依赖项”

右击已损坏的依赖项,然后选择“解决依赖项”以单独修复该依赖项。此外,也可选择“管理”以打开“管理包”窗口,再更新包。

Nuget 通过应用“最低适用版本” 运行时规则来解决中断的依赖项,这表示它将搜索第一个适用的包版本(高于以前设置的版本)。



注意:缺失或无效的活动在“设计器”面板中标记,而错误横幅则提供有关工作流及其无法解析的依赖项的其他信息。

设置依赖项规则

活动包提供有多个版本,因此在使用”管理包”安装或更新它们时,您可以为它们分别设置依赖项运行时规则。



运行时规则”指定要在运行时安装的包版本。它有两个可用的选项。

“严格”运行时规则是流程创建时添加的依赖项的默认状态,适用于通过“管理包”窗口安装的活动包。这表示系统在运行时仅会使用指定的包版本来执行父流程。在“项目”面板中,“依赖项”下的“严格”规则以包版本旁边的 符号标记。

“最低适用版本”运行时规则是指:如果找不到目标包,则搜索下一个更高版本以解决依赖项。在“项目”面板中,“依赖项”下的“最低适用版本”规则以包版本旁边的 符号标记。

从 Studio 执行自动化项目时,机器人会根据先前为每个项目设置的运行时规则,下载执行项目所需的指定包版本。 如果执行期间使用的依赖项具有“ 严格 ” 运行时规则,并且未找到确切的包版本,则会引发错误。 有关为项目依赖项设置运行时规则的更多信息,请查看 管理依赖项 页面。

解决依赖项冲突

活动包的安装考虑了以前为上述包设置的依赖项运行时规则,但是当项目自动化时,版本之间可能会发生一些冲突。自动化项目和它包含的库都可能有相同的活动包,但版本和运行时规则不同。在设计时,NuGet 通过选择最高级别的依赖项(也就是最接近层次结构中的项目的依赖项)来解决这些冲突。

下面介绍了可能出现的冲突的解决方法:



该项目包含 1.0 版活动包。库在项目中引用并使用相同的包,但具有更高的版本。在运行时使用最高级别依赖项 v1.0。系统发出警告,并检测到降级问题。

无论以前为活动包设置了何种运行时规则(“严格” 或“最低适用版本”),此场景的解决方案均适用。



  • 如果选择“是”,则项目中引用的活动包将升级为库中使用的版本。
  • 如果选择“否”,则“管理包”窗口打开将显示“项目依赖项”列表。



项目包含版本为 2.0 的活动包。库使用相同的包,但版本较低,且运行时规则为“严格” 。在这种情况下,使用的最高级别依赖项是 v2.0,在项目中安装包时会发出警告。



项目包含版本为 2.0 的活动包。库使用相同的包,但版本较低,且运行时规则为“最低适用版本” 。在这种情况下,使用的最高级别依赖项是 v2.0,在项目中安装包时会发出警告。



项目引用活动包版本为 1.0 版本且运行时规则为“严格” 的库。项目引用另一个库,但其活动包版本为 2.0。在这种情况下,最高级别依赖项是版本为 2.0 的包,因其版本最高。安装活动包时会发出警告。



在此冲突中,项目引用两个库,而两个库之间又引用了“严格 依赖项。不支持此方案。如需了解详情,请查看“依赖项解决方法”页面。

如果包引用自身,那么将发生的冲突类型是依赖项循环。如果将项目命名为 UiPath,Studio 将检测到依赖项冲突。这是因为 UiPath 包已经存在,并且依赖于 UiPath.UIAutomation.Activities。在命名项目时,建议您避免使用要作为依赖项添加的现有包的名称。
在下面的情况下,会发生相同的依赖项循环:您打开 .xaml 文件时是从名为 UiPath 的文件夹,或者是从名为从您要添加为依赖项的任何现有包,但该文件夹中没有 project.json。当您打开一个没有关联 project.json 文件的 .xaml 文件时,Studio 会创建一个 project.json 文件,并用父文件夹的名称来填充 "name" 标签。

打开使用先前版本创建的项目

重要提示:不支持直接在 Studio v2016.2 或更高版本中打开使用 Studio v2020.4 创建的项目。请先使用 Studio v2018.4 打开项目,再使用 v2020.4 打开。

当打开包含或不含依赖项的项目时(使用 v2018.3 之前的版本设计,v2016.2 除外),Studio 会询问您是否应该执行自动迁移,以便尝试检索缺少的依赖项或添加默认依赖项。



一经确认,Studio 将尝试检索缺少的依赖项,并针对找到的包,设置“严格” 运行时规则。在“项目”面板中使用“修复依赖项”选项时,Studio 将尝试安装下一个最佳包版本。如果找不到包版本,“输出”面板中将显示警示,并且您应当检查“管理包”窗口中配置的订阅源。

包含依赖项的流程以及使用 v2018.3 之前的 Studio 版本构建的流程将继续在 Robot v2018.3 中执行。此类项目的运行时规则将设置为“最低适用版本”

Projects created with versions prior to v2018.3 that were never published don't have dependencies listed in the project.json file. When opening such projects, an alert in the Output panel notifies you of missing dependencies. UiPath® packages delivered locally with Studio are added as dependencies with the Strict docs image runtime rule. The latest version of such packages is automatically set.

如果这类项目包含非 Studio 本地随附的包,我们建议:

  • 使用创建此项目的 Studio 版本发布此项目,以此在 project.json 文件中添加依赖项,帮助您完成迁移流程;
  • 在设置所需订阅源后,从“管理包”窗口中手动安装缺少的包;
  • 使用“项目依赖项批量更新”工具将缺少的依赖项添加到大批项目中。

    注意:无法保存包含无效活动的工作流。安装所需的依赖项,然后保存项目。
活动包 UiPath.V7.ActivitiesUiPath.Platform.ActivitiesUiPath.Framework.Activities 已被弃用。当打开包含 UiPath.Platform.ActivitiesUiPath.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 文件,这样就会执行迁移了。弃用的活动包将被替换为新版本的活动包,如“项目”面板的“依赖项”部分所示。
    注意:在某些情况下,包含包 UiPath.Platform.ActivitiesUiPath.Framework.Activities.xaml 文件无法自动迁移,并且变通方法也不适用。对于这些情况,建议在 Studiov2018.2 或更低版本中打开项目,然后将属于上述包的活动替换为 UiPath.Core.Activities 包中包含的活动。对于包含 UiPath.V7.Activities 包中的活动的工作流,也可以这样做。
自 Studio v2018.4.1 起,UiPathStudio.msi 安装程序中将不会再打包 Microsoft.Activities v.1.0.1 和 Microsoft.Activities.Extensions v2.0.6.9。

如果在迁移以这些包作为依赖项的项目时需要进行修复,请从“官方”订阅源或本地订阅源安装这两个包。在执行以 v2018.4.1 之前的版本创建的这类项目之前,请确保上述包位于机器人可访问的订阅源中。

若从 v2018.4.1 之前的版本升级,这两个活动包仍会保留在“本地”订阅源中。

  • 添加和更新依赖项
  • 删除依赖项
  • 修复依赖项
  • 设置依赖项规则
  • 解决依赖项冲突
  • 打开使用先前版本创建的项目

此页面是否有帮助?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath 白色徽标
信任与安全
© 2005-2024 UiPath. All rights reserved.