我正在尝试调试动态加载的工作流。对于基本上我实现步骤如下:如何调试动态工作流(使用自定义活动)
var currentWorkflow = ActivityXamlServices.Load(@"d:\test.xaml");
var wfApp = new WorkflowApplication(currentWorkflow, anyInputs);
wfApp.Run();
现在我要一步调试工作流步骤的活动 - 如果可能的工作流设计器中。在MSDN我发现一个article如何调试菜单上设置的断点在工作流程,
在调试菜单,选择新建断点。
单击功能中断。新断点对话框打开。
使用以下语法在功能文本框中指定活动的名称:QualifiedActivityId [:[FullClassName] [:InstanceId]]。
...
,但我没有任何想法如何指定的功能文本框中的活动,以及如何获得QualifiedActivityId的名称。
任何人都可以举个例子吗?
另一个问题是,我有松散XAML,它在设计器中通过与下面的消息红色方框内显示许多自定义活动:“活动不能因为在XAML错误加载”。有没有办法加载相关的组件,以便VS2010可以显示带有自定义活动的松散xamls?
Hi @Achim!感谢您的回答。编辑并在vs2010中保存松散的xaml后,您的方式就可以工作。然后在根序列标签中有一个新的属性,其中包含一个绝对路径(
另一个问题是,我在工作流程中有很多自定义活动,并且在调试过程中跳过了它们(它们也不能在设计器中显示 - 而不是在它们的红框中显示此消息:由于XAML)。有没有办法加载相关的组件,以便VS2010可以显示带有自定义活动的松散xamls。 –
VS2010确实有很多问题。通常,如果Xaml文件包含在C#项目中,则该项目可以工作,该项目具有对包含所使用的自定义活动的所有程序集的引用,并且在xaml中,所有名称空间声明都包含一个assembly = part。如果你在VS中创建Xaml,那么对于某些命名空间(即那些是你拥有你的xaml的项目的一部分)来说通常会缺少汇编部分,并且在调试时可能会导致问题。 – Achim