studio
2020.10
false
UiPath logo, featuring letters U and I in white
不在支持范围内
Studio 用户指南
Last updated 2023年12月20日

关于自动化项目

UiPath Studio 允许您创建两种类型的独立自动化项目:流程或库。 流程可以包含所有类型的工作流、序列、流程图、状态机和全局异常处理程序,而库无法使用全局异常处理程序。 此外,可以将 作为依赖项添加到自动化流程中。

在 Studio 中启动新流程时,将在选定位置中使用自定义名称创建一个文件夹。项目默认保存在 %USERPROFILE%\Documents\UiPath 目录中,除非手动更改此位置。

默认情况下,项目文件夹包含以下文件和子文件夹:

  • 文件

    • Main.xaml - 默认情况下创建,用于保存您的主工作流。此外,您添加到项目中的所有其他自动化 XAML 文件都存储在项目文件夹中。或者,您也可以将其他文件设置为主文件。所有文件都必须通过“调用工作流文件”活动链接到设置为主文件的文件或标记为项目入口点的文件。对于在 Studio Pro 中创建的测试项目,系统默认创建 TestCase.xaml 而不创建 Main.xaml
    • project.json - 包含有关自动化项目的信息。
  • 子文件夹

    • .entities - 如果项目中使用了实体,则包含有关从 Data Service 导入的实体的数据。
    • .local - 包含为项目在本地缓存的数据。
    • .objects - 如果项目中使用了添加到对象存储库的任何项目,则包含与此等项目相关的数据。
    • .screenshots - 如果在项目中使用了任何用户界面自动化活动,则包含在此等活动中生成的参考截图。
    • .settings - 包含运行时使用的活动项目设置。
    • .tmh -如果在项目中使用了任何测试用例,则包含与此等用例相关的数据。
      注意:使用新版 Studio 创建的项目可能不适用于旧版 Studio。详情请参阅向后和向前兼容性
      不能在文件名中使用以下字符:", <, >, |, :, *, ?, \, /,;。这些字符来自 Microsoft Windows 限制其他特殊字符限制

设置项目语言

在 Studio 和 StudioX 配置文件中创建的项目使用 VB.NET 语言编写表达式。

在 Studio Pro 配置文件中,当您创建新项目时,可以选择 VB 或 C#。VB 是默认选择的语言,但您可以转到“主页”(Studio 后台视图)>“设置”>“设计”,将 C# 设置为新项目的默认语言。请注意,只能以 Studio Pro 配置文件打开 C# 项目。

不支持在同一项目中同时使用 VB 和 C# 表达式。无法在 C# 工作流中使用 VB 表达式,反之亦然。在复制其他项目中的活动、调用或导入工作流时,请确保其使用的语言与目标项目相同。

您可以将 C# 库安装为 VB 项目中的依赖项,反之亦然。但是,无法从安装库的项目访问使用语言特定的表达式为库项目中的参数定义的默认值。

C# 局限性

  • 当前的 C# 实现基于使用 C# 版本 5 的 C# 编译器,因此限制了对诸如合并分配、null 条件运算符、null 合并运算符、字符串插补等新功能的访问。
  • 包含带增量表达式的项目无效。
  • 包含 nameof() 运算符的表达式被标记为无效,并且当前 C# 实现中不允许使用。
  • 包含对带可选参数方法的调用的表达式必须包含可选参数的值。
  • 与 VB.NET 相比,C# 项目的设计时间和运行时性能较低。当运行时性能至关重要时,我们建议使用 VB.NET 而不是 C#。

设置项目版本

语义版本控制

语义版本控制方案采用 Major.Minor.Patch[-Suffix] 格式,其中:

  • Major 是主要版本。
  • Minor 是次要版本。
  • Patch 是补丁版本。
  • -Suffix(可选)是连字符加一串句点分隔的标识符,紧接在补丁版本后。这表示预发行版本。

标识符必须仅由 ASCII 字母数字和连字符组成,并且不得为空。数字标识符不得以零开头。此外,内部版本元数据必须通过以下方式表示:附加一个加号及一串以句点分隔的标识符,紧接在补丁版本或预发行版本后面,例如 1.0.0-alpha+1。

创建新流程或库时,默认版本方案为语义版本。只需在版本号中添加一个额外的数字,即可在发布窗口进行更改。也可以使用 project.json 文件修改项目的语义版本。版本编号为 major.minor 的项目将自动添加补丁编号 0。

传统版本控制

为项目生成的传统版本号采用 M.m.bbbb.rrrrr 格式,其中:

  • M 表示主要版本。
  • m 表示次要版本。
  • bbbb 为内部版本。
  • rrrrr 为修订版本。
也可以在 project.json 文件中编辑主要版本和次要版本,而内部版本和修订版本是根据某种算法生成 - 内部版本值是指自 01.01.2000 以来经过的天数。修订值是当天至发布时所经过的秒数。其结果除以 2,使得最大的修订编号不会超过 65535。

“发布”窗口中的建议版本号基于项目的以往版本控制方案生成,如果项目采用的是 4 位数版本控制方案,则考虑使用当前的日期和时间戳。

管理项目



项目”面板可用于查看当前项目的内容,添加文件夹,打开文件位置,管理依赖项,以及调整项目设置。



将文件资源管理器中的文件直接复制并粘贴到“项目”面板。您还可使用拖放功能对一个或多个文件执行相同操作,包括 .xaml 工作流。使用 Ctrl + CCtrl + V 快捷方式,您还可以复制文件并在树中的任意位置复制它。

选项

描述

全部展开

展开自动化项目中的所有节点。

全部折叠

折叠自动化项目中的所有节点。

刷新

刷新项目。

显示所有文件

显示从属于自动化项目的所有文件,包括 project.json

文件资源管理器

打开项目在计算机上的位置。

项目设置

打开流程或库的“项目设置”窗口。

删除未使用的屏幕截图

删除运行自动化项目时未使用的屏幕截图。

项目的上下文菜单

右键单击“项目”面板中的任意位置以打开上下文菜单,其中包含下表中所述的选项。选项的不同子集是否可用,取决于您在面板中的右键单击位置、项目类型以及是否将项目添加到来源控件。

选项

描述

打开项目文件夹

打开包含项目的本地文件夹。

项目设置

打开用于调整屏幕首选项的“项目设置”窗口。

添加

打开可添加到项目中的项目列表:文件夹、 序列流程图状态机全局处理程序

导入工作流

.xaml 文件导入到项目中,如果文件名与主文件的名称一致,则为文件名添加“导入”

导入文件

打开文件资源管理器窗口,将各种文件导入项目。

添加到来源控件

使用“Git Init”、“复制到 Git”、“添加到 TFS”或“添加到 SVN”选项将当前项目添加到来源控件。请注意,只有在您右键单击项目节点时,此选项才可见。

将项目添加到源代码控件后,上下文菜单中将提供其他选项。请参阅 GIT 的适用选项以及 SVN 和 TFS 的适用选项

打开

使用默认程序打开所选文件。

打开文件位置

打开包含该文件的本地文件夹。

重命名

用于重命名选定的文件或文件夹,并打开重命名项目窗口。在所有情况下,该项目均已重命名。

删除

仅会从本地计算机中删除选定的项目。

选择进行比较

选择当前文件以进行比较。

与选定项比较

使用“ 比较文件”将当前文件与先前选择的文件进行 比较

查找引用

查找项目中对该文件的所有引用。系统将在“查找引用”面板中显示结果。

调试文件

调试所选的 .xaml 文件。

设置为“主要”

在项目定义中将选定的 .xaml 文件设置为“主要”,这意味着项目执行从该文件开始。只能有一个项目文件。设置为主文件的文件名称将在“项目”面板中以粗体显示。

属性

打开库的属性窗口,以添加工具提示和帮助链接

设置为全局处理程序

.xaml 文件设置为项目的“全局异常处理程序”。这适用于每个项目/流程的工作流。

删除处理程序

.xaml 文件中删除“全局异常处理程序”标签。

启用入口点

将选定的工作流文件标记为流程的入口点,从而可以在其他流程中使用调用流程运行并行流程活动时将其选择为首先运行的工作流。

备注:
  • 将文件标记为入口点时,文件名旁边的图标上会显示一个箭头 docs image
  • 启用从发布中被忽略的文件作为入口点,将文件设置为可发布。
  • 此选项不适用于测试用例文件。
  • 此选项在库项目中不可用。

禁用入口点

不再将选定的工作流文件标记为流程的入口点。此选项不适用于设置为“主要”的工作流文件。

从发布中忽略

将一个或多个选定文件标记为从发布中排除。

备注:
  • 如果从发布中忽略文件,该文件名旁边的图标将变为灰色 docs image
  • 如果从发布中忽略标记为入口点的文件,将禁用入口点。
  • 在库项目中,包中包含一个从发布中忽略的文件,但是在库作为依赖项安装的项目中,不会创建可重用组件并在“活动”面板中提供。

设为可发布

将一个或多个选定的从发布中排除的文件标记为可发布。

GIT 的上下文菜单选项

在添加到 GIT 存储库的项目中,“项目”面板中的每个文件旁边都会显示一个图标,以指示文件状态:

该文件与存储库同步。

该文件已被修改。

已添加该文件。

右键单击“ 项目” 面板中的文件或项目节点,打开特定于 GIT 的上下文菜单, 以使用 GIT 管理项目



选项

描述

提交

将当前更改提交到本地 GIT 存储库。

推送

将当前版本推送到远程存储库。

拉取(重定基准)

拉取远程文件,并为当前分支重定基准。

管理分支

打开“GIT”窗口,其中含有管理当前添加的分支的选项。

显示更改

打开“文件区别”窗口,以比较文件的本地版本和远程版本相比的更改。

显示历史

打开“显示历史”窗口,以比较同一文件的两个版本。

撤消

如果文件未提交或推送到远程存储库,则打开“撤消待定更改”窗口。

SVN 和 TFS 的上下文菜单选项

在添加到 SVN 或 TFS 存储库的项目中,“项目”面板中的每个文件旁边都会显示一个图标,以指示文件状态:

该文件未签出以进行编辑。

该文件已签出进行编辑。

该文件已被编辑。

已添加该文件。

右键单击“项目”面板中的文件或项目节点以打开上下文菜单,其中包含使用 TFSSVN 管理项目的特定选项。



选项

描述

打开

如果没有从 TFS/SVN 存储库签出所选 .xaml 文件进行编辑,请在“设计器”面板中以只读模式打开所选 .xaml 文件。

重命名

用于重命名选定的文件或文件夹,并打开重命名项目窗口。签入重命名的 .xaml 文件时,还必须签入先前修改的版本。

删除

仅会从本地计算机中删除选定的项目。文件的最新签入版本在 TFS/SVN 存储库中仍然可用。

签出以进行编辑

将选定的文件或文件夹标记为锁定以进行编辑。签出某个文件会在服务器上锁定此文件,这样其他人就无法编辑此文件。

完成编辑

签入存储库中的 project.json 文件,包括变更和提交消息。

添加

将选定项目上传到 TFS/SVN 服务器。如果项目先前已上传到服务器,则此选项不可用。

获取最新版本

从 TFS/SVN 存储库下载所选项的最新版本。

显示更改...

打开“文件区别”,以比较版本化文件和本地映射文件之间的更改。

签入

显示签入更改窗口,用于将选定的项目作为最新版本上载到服务器。必须先保存 .xaml 文件,然后再上传。签入后,该文件在 Studio 中将变为只读文件。

撤消

显示“撤消待定更改”窗口,并用于还原已对项目所做的更改:或者将已修改的文件还原为先前状态或无版本控制状态,或者检索已从本地计算机中删除的文件。

在签入文件后,无法恢复更改

运行

运行所选工作流,即使它没有签出或没有添加到存储库。

设置为“主要”

在项目中,将选定的 .xaml 文件设置为“主要”。默认情况下,第一个创建的 .xaml 被设置为“主要”。

调整项目设置

您可为处理的每个自动化项目建立一组单独的设置。这些设置位于项目设置窗口中,单击“项目”面板中的 即可打开此窗口。



设置窗口字段说明

字段

描述

名称

更改项目名称。此类名称可能包含空格字符。在命名项目时,请记住在发布时删除空格字符。该字段最多接受使用 128 个字符。

描述

更改项目说明。该字段最多接受使用 500 个字符。

禁用暂停

启用或阻止用户暂停机器人托盘中的流程。如果在执行期间暂停流程可导致其崩溃,请设为“是”。例如,如果工作流中的某一活动使用了 Timeout 属性,暂停执行可能会导致超时过期,因而破坏执行。

在后台启动

设置为以在后台流程打开项目,并允许它与其他流程同时在后台运行,只要不使用用户界面交互功能即可。

支持暂留

设置为 “是” 以在“ 编排流程”中打开项目。

PiP 已就绪

设置为“是”表示该项目已使用画中画进行了测试。如果设置为“否”,则此流程无法使用此功能。

在 PiP 中启动

设置为“是”表示默认情况下应使用“画中画”功能运行该流程。

新式设计体验

设置为 “是” 以提供使用用户界面自动化的 新式体验 ,包括新的和改进的活动、录制器和向导,以及 对象存储库

单击“确定”,所做的更改即可在项目面板和 project.json 文件中查看。

查看配置活动项目设置页面,了解如何在项目级别调整活动属性。

注意:请注意,每当要将一个序列中的大量活动复制到另一个序列时,我们均建议您事先向下滚动到“设计器”面板底部。这是因为 Windows 工作流基础知识限制的关系。

关于 Project.Json 文件

Project.json 是针对每个 .xaml 文件自动生成的文件,在项目文件夹中标记为“主要”

该文件保存各种信息,包括项目依赖项或库中加载的网页服务。 有关库中网页服务的更多信息,请查看在库中 加载网页服务 页面。

备注:

只有在进行方案故障排除的情况下才能尝试手动编辑 project.json 文件,因为手动编辑该文件可能导致严重后果和失去支持。

从 2018.2 开始,在从 UiRobot.exe(命令行)客户端运行项目时,应该指定一个 project.json 文件。
下表介绍了 Project.json 文件中包含的参数。

参数

描述

name

自动化项目的标题。其在 Studio 中创建新流程或库时提供。

description

项目的描述。在创建新项目时,将在 Studio 中的“描述”字段中提供描述。

main

自动化项目的接入点。它由 .xaml 文件组成。默认名称为“Main.xaml”。它既显示为“设计器”面板的标题,也显示在 Studio 的“属性”面板中。如果您希望先执行不同的项目,请将此参数的值更改为要处理的 .xaml 文件的名称。
注意:如果自动化项目包含多个文件,则应通过调用工作流文件活动将每个文件链接到 Main.xaml 文件。在将项目发布到 Orchestrator 并发送给机器人时,此操作特别实用,因为机器人只执行此参数中提供的文件。

dependencies

用于创建自动化项目及其版本的活动包。每当从项目中添加或删除依赖项时,或包版本更改时,该列表都会更新。

注意:版本号按顺序由以下部分组成:主要版本、次要版本、内部版本和修订版本。内部版本值是指自 01.01.2000 以来经过的天数。修订版本值是指从格林尼治时间凌晨 5 点开始,发行日已经过的秒数。

webServices

  • namespace - “新增服务”窗口中为库提供的服务名称。
  • serviceDocument - 包含 SOAP 或 Swagger 服务元数据的 .xml.json 文件的路径。该文件在修复服务时使用,并且应作为项目的一部分进行版本控制。
  • webDocumentUri - Swagger 或 SOAP 资源的文件路径或链接(在“新增服务”窗口中创建服务时提供)。
  • uniqueReference - 服务版本控制需要的参考。

entitiesStores

  • serviceDocument - 本地实体文件的路径。
  • tenantName - Data Service 所在的租户。
  • namespace - 实体在其下导入的命名空间(项目命名空间)。
  • uniqueReference - 服务版本控制需要的参考。

schemaVersion

project.json 文件的版本。

studioVersion

用于创建自动化项目的 Studio 版本。

projectVersion

将此项目发布到订阅源时使用的版本。表示“发布”窗口中设置的版本。

runtimeOptions

  • isPausable - 是否为流程启用暂停
  • requiresUserInteraction - 流程是否是长时间运行的流程。
  • supportsPersistence - 流程是否支持持久性,
  • excludedLoggedData - 包含可添加至活动名称的关键字,用以以防止在 Verbose 级别上记录变量和参数值。这也可以通过选择任意活动的“私有”复选框来实现。您可单击此处,阅读关于敏感信息保护的更多内容。
  • readyForPiP - 流程是否标记为“PiP 已就绪”。
  • startsInPiP - 是否将流程配置为在 PiP 中启动。

designOptions

  • projectProfile - 创建项目(业务 (StudioX) 或开发)时使用的 Studio 配置文件。
  • outputType 显示项目类型:流程测试
  • libraryOptions

    • includeOriginalXaml - 是否在结果 .nupkg 文件中包括原始工作流文件。
    • privateWorkflows - 库中包含的私有 .xaml 文件的完整名称。
  • processOptions

    • ignoredFiles - 从发布中忽略的 RPA 工作流文件列表。
  • fileInfoCollection - 包含流程中每个测试用例文件的以下信息:editingStatus“可发布”“正在进行”)、testCaseIdfileName
  • modernBehavior - 是否将流程配置为使用新式设计体验。

arguments

包含在设置为“主要”的工作流文件中定义的每个 inputoutput 参数的以下信息:nametype,无论是否为 required,以及它是否具有默认值 (hasDefault)。
注意:在发布参数信息后,仅向 .nupkg 包中的文件添加该参数。

expressionLanguage

为流程设置的语言(VisualBasic 或 CSharp)。

entryPoints

包含标记为流程入口点的每个文件 filePath
uniqueId 的以下信息;以及文件中每个 inputoutput 参数的以下信息:nametype,是否为 required,是否具有默认值 (hasDefault)。
注意:在发布参数信息后,仅向 .nupkg 包中的文件添加该参数。

isTemplate

项目是否为模板。

templateProjectData

包含模板项目的以下信息:

  • defaultProjectDescription - 基于模板的流程的默认项目描述。
  • defaultProjectName - 基于模板的流程的默认项目名称。
以下是通过 Studio 发布的包中包含的 project.json 文件内容的示例。
{
  "name": "UI-40028",
  "description": "Blank Process",
  "main": "Flowchart.xaml",
  "dependencies": {
    "UiPath.Excel.Activities": "[2.9.3]",
    "UiPath.Mail.Activities": "[1.9.3]",
    "UiPath.System.Activities": "[20.10.1]",
    "UiPath.UIAutomation.Activities": "[20.10.6]"
  },
  "webServices": [],
  "entitiesStores": [],
  "schemaVersion": "4.0",
  "studioVersion": "20.10.2.0",
  "projectVersion": "1.0.1",
  "runtimeOptions": {
    "autoDispose": false,
    "isPausable": true,
    "requiresUserInteraction": true,
    "supportsPersistence": false,
    "excludedLoggedData": [
      "Private:*",
      "<em>password</em>"
    ],
    "executionType": "Workflow",
    "readyForPiP": false,
    "startsInPiP": false
  },
  "designOptions": {
    "projectProfile": "Developement",
    "outputType": "Process",
    "libraryOptions": {
      "includeOriginalXaml": false,
      "privateWorkflows": []
    },
    "processOptions": {
      "ignoredFiles": []
    },
    "fileInfoCollection": [],
    "modernBehavior": false
  },
  "arguments": {
    "input": [
      {
        "name": "argument1",
        "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
        "required": false,
        "hasDefault": false
      },
      {
        "name": "argument2",
        "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
        "required": false,
        "hasDefault": false
      }
    ],
    "output": []
  },
  "expressionLanguage": "VisualBasic",
  "entryPoints": [
    {
      "filePath": "Main.xaml",
      "uniqueId": "5289efb0-f8bc-42f3-8cf4-0caa3a7d1915",
      "input": [
        {
          "name": "argument1",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        },
        {
          "name": "argument2",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        }
      ],
      "output": []
    },
    {
      "filePath": "Flowchart.xaml",
      "uniqueId": "d0904ba0-506e-437d-979c-b9da4325faad",
      "input": [
        {
          "name": "argument1",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        },
        {
          "name": "argument2",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        }
      ],
      "output": []
    }
  ],
  "isTemplate": false,
  "templateProjectData": {},
  "publishData": {}
}{
  "name": "UI-40028",
  "description": "Blank Process",
  "main": "Flowchart.xaml",
  "dependencies": {
    "UiPath.Excel.Activities": "[2.9.3]",
    "UiPath.Mail.Activities": "[1.9.3]",
    "UiPath.System.Activities": "[20.10.1]",
    "UiPath.UIAutomation.Activities": "[20.10.6]"
  },
  "webServices": [],
  "entitiesStores": [],
  "schemaVersion": "4.0",
  "studioVersion": "20.10.2.0",
  "projectVersion": "1.0.1",
  "runtimeOptions": {
    "autoDispose": false,
    "isPausable": true,
    "requiresUserInteraction": true,
    "supportsPersistence": false,
    "excludedLoggedData": [
      "Private:*",
      "<em>password</em>"
    ],
    "executionType": "Workflow",
    "readyForPiP": false,
    "startsInPiP": false
  },
  "designOptions": {
    "projectProfile": "Developement",
    "outputType": "Process",
    "libraryOptions": {
      "includeOriginalXaml": false,
      "privateWorkflows": []
    },
    "processOptions": {
      "ignoredFiles": []
    },
    "fileInfoCollection": [],
    "modernBehavior": false
  },
  "arguments": {
    "input": [
      {
        "name": "argument1",
        "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
        "required": false,
        "hasDefault": false
      },
      {
        "name": "argument2",
        "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
        "required": false,
        "hasDefault": false
      }
    ],
    "output": []
  },
  "expressionLanguage": "VisualBasic",
  "entryPoints": [
    {
      "filePath": "Main.xaml",
      "uniqueId": "5289efb0-f8bc-42f3-8cf4-0caa3a7d1915",
      "input": [
        {
          "name": "argument1",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        },
        {
          "name": "argument2",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        }
      ],
      "output": []
    },
    {
      "filePath": "Flowchart.xaml",
      "uniqueId": "d0904ba0-506e-437d-979c-b9da4325faad",
      "input": [
        {
          "name": "argument1",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        },
        {
          "name": "argument2",
          "type": "System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089",
          "required": false,
          "hasDefault": false
        }
      ],
      "output": []
    }
  ],
  "isTemplate": false,
  "templateProjectData": {},
  "publishData": {}
}

此页面有帮助吗?

获取您需要的帮助
了解 RPA - 自动化课程
UiPath Community 论坛
Uipath Logo White
信任与安全
© 2005-2024 UiPath。保留所有权利。