Studio
2022.10
false
Studio 用户指南
Last updated 2024年7月15日

管理依赖项

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 中执行。此类项目的运行时规则将设置为“最低适用版本”

对于使用 v2018.3 之前的版本创建的未曾发布的项目,project.json 文件中不会列出其依赖项。当打开这类项目时,“输出”面板中的警示消息会通知您缺少依赖项。Studio 本地随附的 UiPath 包会添加为依赖项,并且运行时规则为“严格”docs image。系统会自动设置此类包的最新版本。

如果这类项目包含非 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 Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。