如何从中恢复:Workflow Designer遇到了文档问题

时间:2013-04-05 14:01:15

标签: visual-studio-2010 arguments workflow

作为工作流程的新手,我创建了一个工作流程(在VS2010工作流程设计器中),其中包含一个我有一个writeline活动的序列。我正在尝试为工作流创建参数,因此我在参数窗格中创建了2个参数,无需在活动级别对它们执行任何操作。 (值得注意的是,我还没有掌握如何在工作流程中使用参数)。但是,我保存了我的工作流程,而工作流程没有显示任何可见错误(带有删除标记的红色圆圈)。下次打开工作流程时,我收到错误:

工作流设计器遇到了文档问题。 请检查文档中是否存在无效内容,名称空间,引用或引用循环。

这似乎是最终的,因为我无法访问我的原始工作流程以可能纠正我的错误(无论它们是什么)。当我点击细节向下箭头时,我看到:无法在_8684类型中找到成员'a'。

a是我在工作流程中使用的两个int32参数之一,但我从未在任何活动中使用过。

我将不胜感激任何帮助。提前谢谢。

1 个答案:

答案 0 :(得分:1)

您似乎正在尝试重新托管您的工作流程设计器,但它并没有为您生成正确的XAML。

如果Workflow Designer实例直接加载容器活动(序列,流程图等)而不是首先使用ActivityBuilder,则通常会发生错误Could not find member <mname> in type <tname>

如果您已经在使用ActivityBuilder,那么您可能错过了为其提供根活动命名空间。添加System.Activities.Presentation.WorkflowDesigner的正确方法是:

this.workflowDesigner = new WorkflowDesigner();
this.workflowDesigner.Load(new ActivityBuilder { Implementation = new Sequence(),
                                                 Name = "RootNamespace.RootActivity" });

正确设置Name后,WF设计器将停止使用随机类型(如您的情况下为_8684)并在保存/序列化时生成正确的XAML。这应该可以帮助您摆脱命名空间错误。