C# 使用XAML/Designer的Windows Workflow 4.5动态更新 我理解Windows工作流基础4.5支持并排和动态更新工作流定义。我在互联网上发现了一些示例,但都描述了更新工作流的基于代码的方法。我想做一个实用程序,开发人员使用它来更新工作流,而无需编码。(仅使用Xaml操作应该是我们的理想情况)

C# 使用XAML/Designer的Windows Workflow 4.5动态更新 我理解Windows工作流基础4.5支持并排和动态更新工作流定义。我在互联网上发现了一些示例,但都描述了更新工作流的基于代码的方法。我想做一个实用程序,开发人员使用它来更新工作流,而无需编码。(仅使用Xaml操作应该是我们的理想情况),c#,.net,workflow-foundation-4,workflow-activity,C#,.net,Workflow Foundation 4,Workflow Activity,我的实用程序执行以下操作 我从用户处获取基本Xaml(我想要更新的工作流定义)文件名和程序集(V1) 我通过调用prepareForUpdateAPI来准备更新。并将其保存为ForUpdate XAML 我从VisualStudio项目中删除了基本Xaml 我将更新后的Xaml文件加载到项目中(而不是基本Xaml),并修改工作流 在修改和重建之后,我再次打开我的更新实用程序,从修改过的Xaml(v2)用户那里获取输入,并创建更新映射 之后,我尝试更新正在运行的实例(使用更新映射),此时我的实用

我的实用程序执行以下操作

  • 我从用户处获取基本Xaml(我想要更新的工作流定义)文件名和程序集(V1)
  • 我通过调用
    prepareForUpdate
    API来准备更新。并将其保存为ForUpdate XAML
  • 我从VisualStudio项目中删除了基本Xaml
  • 我将更新后的Xaml文件加载到项目中(而不是基本Xaml),并修改工作流
  • 在修改和重建之后,我再次打开我的更新实用程序,从修改过的Xaml(v2)用户那里获取输入,并创建更新映射
  • 之后,我尝试更新正在运行的实例(使用更新映射),此时我的实用程序显示它们已成功更新
  • 虽然它们被更新了,但在运行时会产生不良影响(我得到了类似于编译位置“a”}的{
    ICompiledExpressionRoot的异常,其中
    {a'}
    是我的变量),与表达式解析、根等相关

任何人都试图实现同样的目标,或者有一些想法。我的错误在Visual Basic和基于Visual C的XAML中都是一致的。

虽然我们没有遇到您的特定场景,但我们尝试使用动态更新服务来找到与您描述的非常类似的解决方案

尽管大部分声明式工作流都是完全在VisualStudio Visual editor中设计的,我们还是放弃了这个工具。在大多数情况下,它无法生成更新映射,有时甚至抛出解析异常

使用它真的感觉不到它是一个完整的组件,而且它周围缺乏文档,即使在它发布后经过了这么长时间,也让我非常谨慎地考虑它的任何用途