活动是流程自动化的基础。UiPath Studio随附各种内置活动以及专用活动(PDF,邮件,Excel),您可以根据需要通过Package Manager安装它们。您可以阅读《 UiPath活动指南》以获取更多详细信息和示例,以及如何管理活动包。此外,您可以创建自定义活动,以根据需要更好地自动化流程。
创建自定义活动需要两个主要步骤:
- 编写自定义活动代码。
- 在UiPath中添加外部程序集(.dll)。
请注意,创建自定义活动需要以下组件:
- 安装了.NET桌面开发工作负载的Microsoft Visual Studio。
- NuGet软件包资源管理器。
您可以编写来自CodeActivity或NativeActivity的自定义活动的代码。这两个活动看起来很相似,但是有所不同。
CodeActivity提供了Execute方法,可以将其重写以实现您的实现。它还提供对跟踪,变量和参数的访问。您可以将CodeActivity用于以下用途:
- 简单的自定义活动。
- 同步活动。
- 在单个执行脉冲中执行。
NativeActivity提供CodeActivity的所有功能,但也可以让您中止活动的执行,取消子活动的执行,安排活动,使用书签以及活动动作和功能。您可以将NativeActivity用于以下用途:
- 复杂的自定义活动。
- 运行长时间的自定义活动。
- 在多个执行脉冲中执行。
- 安排其他活动。
- 使用高级WF运行时功能。
注意:
仅使用CodeActivity创建不需要WF运行时功能的活动。
注意:
为了编写自定义活动的代码,您需要将Microsoft Visual Studio与.NET桌面开发工作负载一起安装。
- 启动Microsoft Visual Studio。
- 单击文件>新建>项目…(快捷方式:Ctrl + Shift + N)。显示“ 新建项目”窗口。
- 单击Visual C#。显示使用C#的所有依赖项列表。
- (可选)在“ 名称”字段中填写自定义活动的首选名称。在我们的例子中,我们可以使用“ MathSquareOfSum”
- 选择类库(.NET Framework),然后单击确定。这有助于我们将自定义活动导出为.dll文件。
- 单击项目>添加引用...。
- 搜索
System.Activities
和System.ComponentModel.Composition
引用,然后选择它们。 - 单击确定按钮,这使得可以使用
System.Activities
和System.ComponentModel.Composition
引用中的类。
只有现在,您才决定使用CodeActivity还是NativeActivity。在此示例中,我们使用CodeActivity。
- 在
using
指令中,添加以下代码:
using System.Activities;
using System.ComponentModel;
- 为您的自定义活动编写代码。在我们的情况下,它需要看起来像这样:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Activities;
using System.ComponentModel;
namespace ClassMathCustomActivity
{
public class SimpleFormula : CodeActivity
{
[Category("Input")]
[RequiredArgument]
public InArgument<double> FirstNumber { get; set; }
[Category("Input")]
public InArgument<double> SecondNumber { get; set; }
[Category("Output")]
public OutArgument<double> ResultNumber { get; set; }
protected override void Execute(CodeActivityContext context)
{
var firstNumber = FirstNumber.Get(context);
var secondNumber = SecondNumber.Get(context);
var result = System.Math.Pow(firstNumber + secondNumber, 2);
ResultNumber.Set(context, result);
}
}
}
注意:
我们使用protected override void Execute(CodeActivityContext context)
代码覆盖了execute方法。
单击构建>构建MathSquareOfSum。将显示“ 输出”面板,通知您已构建文件并显示其路径。在本例中,MathSquareOfSum.dll
文件已创建。
在UiPath中添加外部程序集(.dll)
创建NuGet包
在可以将外部程序集添加到UiPath中之前,首先需要创建一个NuGet程序包。
注意:
为了创建NuGet软件包,您需要安装NuGet软件包资源管理器。
- 启动NuGet软件包资源管理器。
- 单击创建新程序包(Ctrl + N)。显示一个拆分窗口,其中显示软件包元数据和软件包内容。我们需要在后一部分中添加所有依赖项。
- 右键单击“ 包装内容”部分。显示上下文菜单。
- 单击添加lib文件夹。请注意,在“ 包装内容”部分中创建了一个新的lib项目。
- 右键单击lib,然后选择Add Existing File…。
- 加载上面创建的外部程序集(.dll)。在我们的情况下,
MathSquareOfSum.dll
。 - 单击编辑>编辑元数据。显示“ 包元数据”部分。
- 填写合适的字段,以更好地描述您的自定义活动。
- 填写ID字段。在我们的情况下,它可以是“ ActivitiesCustomMathFunction”。
重要!
NuGet软件包ID字段必须包含关键字“活动”,才能出现在Studio的“管理软件包”窗口中。
- 单击文件>保存。在我们的例子中,
ActivitiesCustomMathFunction.1.0.0.nupkg
文件已创建。 - 将文件复制到UiPath Studio安装位置(
%USERPROFILE%\.nuget\Packages
)的Packages文件夹中。包含自定义活动的NuGet软件包现在可以加载到UiPath Studio中了。
注意:
确保为您的活动创建一个直观的文件夹结构。与Orchestrator一起使用时,自定义活动中的所有空文件夹都将被删除。