.net 5 中不支持 System.Activities.Presentation

System.Activities.Presentation not supported in .net 5

提问人:Adesh Kishore 提问时间:1/24/2022 最后编辑:Panagiotis KanavosAdesh Kishore 更新时间:1/24/2022 访问量:1206

问:

最近,我在升级助手工具的帮助下将我的 wpf 应用程序从 .net framework 4.7.2 迁移到 .net 5,但在升级 System.Activities.Presentation 后,.net 5 不支持。 请建议我如何进一步进行。

C# wpf net-core . net-5 工作流-foundation-4

评论

0赞 Panagiotis Kanavos 1/24/2022
.NET 5 是 .NET Core 5,WF 从未迁移到 .NET Core。WF从未真正在Microsoft应用程序之外流行起来,缺乏Web支持是一个重要原因。古怪的XML文件格式是另一个原因。顺便说一句,.NET 5 将在几个月内停止支持。当前的长期支持版本为 .NET。
0赞 Panagiotis Kanavos 1/24/2022
WF 在大约 10 年前就过时了。有一些尝试将其移植到 .NET Core,例如 RPA 供应商 UiPath 的 CoreWF。不过,Github 存储库解释说这是一个实验项目。您应该认真考虑迁移到其他工作流库。NuGet 包含多个工作流引擎包

答:

3赞 Panagiotis Kanavos 1/24/2022 #1

.NET 5 是 .NET Core 5,WF 从未迁移到 .NET Core。.NET 5 中的“新增功能”页明确提到了这一点,并建议使用开源替代项 、艾尔莎工作流程。还有其他 NuGet 包,每个包都有自己独特的功能集

由于多种原因,WF 从未真正流行在 Microsoft 应用程序之外,到 2013 年基本上处于维护模式。甚至 Microsoft 产品在大约十年前就停止使用 WF - SharePoint 在 2013 年将 WF 替换为工作流管理器,甚至被 Power Automate 工作流取代。WF 工作流已于 2020 年完全删除

有一些尝试将 WF 移植到 .NET Core,例如 RPA 供应商 UiPath 的 CoreWF。不过,Github 存储库解释说这是一个实验项目。

您迟早应该认真评估迁移到其他工作流库。WF 被放弃的原因今天仍然有效:

  • WF 是一个工作流引擎构造框架,而不是实际的工作流引擎。您需要投入大量精力在其上构建一个实际的工作流引擎。
  • 对于 Web 应用程序来说太重了
  • XML 格式太古怪了,无法使用 - 它是一种对象序列化格式,而不是工作流描述,这使得它太冗长而无法使用其他工具生成或编辑。

现在的替代方案是:

  • NuGet 中的其他 .NET 工作流引擎,如 WorkflowCoreElsa Workflow 仅举两个流行的包。
  • 其他语言的开源工作流服务。借助 Docker 和容器,现在可以轻松地将工作流服务添加到 Web 场,即使在 Windows Server 上也是如此
  • 基于云的工作流服务。

迁移到的内容将取决于应用程序类型。如果需要将工作流引擎嵌入到桌面应用程序中,则需要工作流库。如果工作流需要在服务器端运行,则可以使用工作流服务或云服务。

评论

0赞 Jim Foye 1/24/2022
关于 WF XML 是一种对象序列化格式的很好的观察。MS 称其为“XAML”,但与 WPF XAML 不同的是,您无法轻松直接编辑它。