sdk
latest
false
- 概述
- 自定义活动
- 将活动迁移到 .NET 6
- 发行说明
- 构建工作流分析器规则
- 构建活动项目设置
- 创建自定义向导
- 按范围划分活动的优先级
- UiPath.Activities.Api.Base
- UiPath.Studio.Activities.Api
- UiPath.Studio.Activities.Api.Activities
- UiPath.Studio.Activities.Api.BusyService
- UiPath.Studio.Activities.Api.ExpressionEditor
- UiPath.Studio.Activities.Api.Expressions
- UiPath.Studio.Activities.Api.Licensing
- UiPath.Studio.Activities.Api.Mocking
- UiPath.Studio.Activities.Api.ObjectLibrary
- UiPath.Studio.Activities.Api.PackageBindings
- UiPath.Studio.Activities.Api.ProjectProperties
- UiPath.Studio.Activities.Api.ScopedActivities
- UiPath.Studio.Activities.Api.Settings
- UiPath.Studio.Activities.Api.Wizards
- UiPath.Studio.Activities.Api.Workflow
- UiPath.Studio.Api.Controls
- UiPath.Studio.Api.Telemetry
- UiPath.Studio.Api.Theme
- Robot JavaScript SDK
- 触发器 SDK
重要 :
请注意,此内容已使用机器翻译进行了部分本地化。
新发布内容的本地化可能需要 1-2 周的时间才能完成。

开发者指南
上次更新日期 2024年10月25日
本页概述了如何将自定义 .NET Framework 活动迁移到 .NET 6,以在从 Studio 2021.10.6 开始提供的具有 Windows 兼容性的项目中使用。
We will use the sample MathSquareOfSum .NET Framework activity documented on the Creating Activities With Code (Legacy) page as an example for a migration to .NET 6 that targets Windows while also maintaining compatibility with .NET Framework for Windows - Legacy projects.
必须将使用 .NET Framework 项目格式的项目迁移到新的 SDK 样式格式。 有关更多信息,请参阅 Microsoft 文档。 必须在 .csproj 文件中声明包引用 文件,而不是 packages.config文件。
- 在“解决方案资源管理器”中,右键单击该项目,然后选择 “卸载项目”。
- 复制引用并清除
.csproj
文件中的所有内容。 - 手动将
.csproj
文件更新为新格式。 - 添加目标框架 net6.0-windows。
- 仅通过添加条件将原始引用标记为 net461 。
- 添加包含 net6.0-windows条件的新参考部分。 您必须为 .NET 声明以下 WWF 依赖项:UiPath.Workflow.Runtime、UiPath.Workflow、System.Activities.Core.Presentation、System.Activities.Metadata。 确保所有依赖项都支持 .NET。 您可能需要查找较新的包版本或替换包。
- 在“解决方案资源管理器”中,右键单击该项目,然后选择 “重新加载项目”。
该文件应如下所示。
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop" ToolsVersion="Current">
<PropertyGroup>
<TargetFrameworks>net461;net6.0-windows</TargetFrameworks>
<AssemblyName>MathSquareOfSum</AssemblyName>
<RootNamespace>MathSquareOfSum</RootNamespace>
<UseWpf>true</UseWpf>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Activities" />
<Reference Include="System.Activities.Core.Presentation" />
<Reference Include="System.Activities.Presentation" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0-windows' ">
<PackageReference Include="UiPath.Workflow.Runtime" Version="6.0.0-20220401-03" PrivateAssets="All" />
<PackageReference Include="UiPath.Workflow" Version="6.0.0-20220401-03" PrivateAssets="All" />
<PackageReference Include="System.Activities.Core.Presentation" Version="6.0.0-20220318.2" PrivateAssets="All" />
<PackageReference Include="System.Activities.Metadata" Version="6.0.0-20220318.2" PrivateAssets="All" />
</ItemGroup>
</Project>
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop" ToolsVersion="Current">
<PropertyGroup>
<TargetFrameworks>net461;net6.0-windows</TargetFrameworks>
<AssemblyName>MathSquareOfSum</AssemblyName>
<RootNamespace>MathSquareOfSum</RootNamespace>
<UseWpf>true</UseWpf>
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
</PropertyGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net461' ">
<Reference Include="PresentationCore" />
<Reference Include="PresentationFramework" />
<Reference Include="System" />
<Reference Include="System.Activities" />
<Reference Include="System.Activities.Core.Presentation" />
<Reference Include="System.Activities.Presentation" />
<Reference Include="System.ComponentModel.Composition" />
<Reference Include="System.Core" />
<Reference Include="System.Xaml" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data" />
<Reference Include="System.Net.Http" />
<Reference Include="System.Xml" />
<Reference Include="WindowsBase" />
</ItemGroup>
<ItemGroup Condition=" '$(TargetFramework)' == 'net6.0-windows' ">
<PackageReference Include="UiPath.Workflow.Runtime" Version="6.0.0-20220401-03" PrivateAssets="All" />
<PackageReference Include="UiPath.Workflow" Version="6.0.0-20220401-03" PrivateAssets="All" />
<PackageReference Include="System.Activities.Core.Presentation" Version="6.0.0-20220318.2" PrivateAssets="All" />
<PackageReference Include="System.Activities.Metadata" Version="6.0.0-20220318.2" PrivateAssets="All" />
</ItemGroup>
</Project>
检查每个目标的
.cs
文件中的代码是否缺少引用,并在需要时更新 .csproj
文件中的引用。
重要提示: 不要在 NuGet 包中包含引用的包,也不要将其作为依赖项添加到包元数据中。 包含引用的包会导致无法在 Studio 中安装包。
请务必在尝试构建项目之前测试项目是否存在错误。
从“ 构建 ”菜单中,选择“ 构建解决方案”。 对于每个目标框架,将构建 DLL 库并将其保存在以下位置的单独文件夹中:
%UserProfile%\source\repos\MathSquareOfSum\MathSquareOfSum\bin\Debug
Create a NuGet package using NuGet Package Explorer, as described in Creating Activities With Code (Legacy).
- 启动 NuGet 包资源管理器,然后单击 “新建包 (Ctrl + N)”。 系统将显示一个拆分窗口,其中显示 包元数据 和 包内容。 我们需要在后一部分中添加所有依赖项。
- 在“ 包内容 ” 部分中右键单击。 系统将显示上下文菜单。
- 单击 “添加库文件夹”。 请注意,系统会在“ 包内容 ”部分中创建一个新的库项目。
- 右键单击“ 库 ” 两次,然后进行如下选择:
- 添加 .NET Framework 文件夹 > v4.6.1
- 添加 .NET 文件夹 > v6.0-windows
- 右键单击上一步中添加的每个文件夹,然后选择“ 添加现有文件 ”,以加载每个文件夹所需的外部程序集 (
.dll
) 文件。 这些文件位于\bin\Debug
文件夹中具有框架名称的子文件夹中:- net461 - MathSquareOfSum.dll
- net6.0-windows - MathSquareOfSum.dll
- 将文件夹 net6.0-windows 重命名为
net6.0-windows7.0
。 - 选择文件后,访问“ 编辑 ”菜单,然后选择“ 编辑元数据”。 左侧面板现在配备了可编辑的元数据字段。
- 根据需要编辑元数据字段。
- 选择“ 编辑依赖项”,然后添加以下目标框架: net461 和 net6.0-windows7.0。
- 单击左上角的绿色复选标记按钮,以保存所有更改。
- 选择“ 文件 ” >“ 另存为 ” 以保存新文件。