2

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

Workflow Designer 遇到文档问题。请检查文档中的无效内容、命名空间、引用或引用循环。

这似乎是最终结果,因为我无法访问我的原始工作流程来纠正我的错误(无论它们可能是什么)。当我点击详细的向下箭头时,我看到了:Could not find member 'a' in type _8684 。

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

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

4

1 回答 1

1

您似乎正在尝试重新托管您的 Workflow Designer,但它没有为您生成正确的 XAML。

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

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

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

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

于 2013-05-02T11:20:44.043 回答