繁体   English   中英

将 Windows 工作流程从 .Net 4.5 降级到 4.0

[英]Downgrading windows workflow from .Net 4.5 to 4.0

我使用 .Net 框架 4.5 (C#) 开发工作流,它们经过测试并且运行良好,不幸的是我必须将 .Net 框架降级到 4.0,我知道 WF 的 xaml 架构已在 .Net 4.5 中更改

我搜索了如何将 WF 从 .Net 4.5 降级到 4.0,但我找不到任何有用的东西。 我找到了这篇文章,但我不知道该怎么做: 重新定位到 .NET Framework 4 时,使用新 .NET 4.5 功能的 WF 项目无法构建

任何人都知道一个众所周知的测试步骤,我可以按照这些步骤将 .Net 框架降级到 4.0? 还是应该使用 .Net framework 4.0 重新开发工作流?

我不久前这样做了,这是可能的。 这是我所做的:

  1. 将项目属性中的目标 .NET Framework 版本更改为 4.0。
  2. 您需要通过在 XML 编辑器中查看来手动编辑工作流的 XAML 文件。 您以 C# 形式编写的每个表达式参数都需要转换为其 VB.NET 等效项。 我发现简单地清除 XAML 中的 C# 表达式更容易,然后打开设计器并使用 VB.NET 语法再次输入表达式。 这是大型工作流中乏味的部分。
  3. 您会注意到,在 v4.5 工作流格式中,命名空间列表将位于名为TextExpression.NamespacesForImplementation的元素中。 从 XAML 中删除此元素(及其子元素)。
  4. 此外,删除元素TextExpression.ReferencesForImplementation及其子元素。
  5. 在根活动元素中,找到导入clr-namespace:Microsoft.CSharp.Activities;assembly=System.Activities命名空间的行。 删除那个 XML 命名空间。 对我来说,命名空间以mca为前缀。
  6. 您需要寻找任何mca:前缀元素,因为它们在基于 .NET 4.0 的工作流中不再有效。 通常,这些将是可以写入活动的任何 C# 表达式。此外,即使不是全部,也可以通过上述步骤 2 中完成的操作来解决大部分问题。
  7. 您需要使用设计器的导入选项卡重新添加您需要的任何命名空间。
  8. 毕竟,您应该能够构建降级的工作流程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM