我目前正在保存我的 .NET FX 4.0.1 StateMachine 活动,如下所示:
var sb = new StringBuilder();
var xamlWriter = ActivityXamlServices.CreateBuilderWriter(
new XamlXmlWriter(new StringWriter(sb),
new XamlSchemaContext()));
XamlServices.Save(xamlWriter, activityBuilder);
return sb.ToString();
这工作正常,生成的 XAML 看起来不错。不幸的是,它是无效的。我可以在使用中读回ActivityXamlServices.Load
它,但是当我执行它时,它说它不知道工作流中定义的属性。在 Visual Studio 设计器中打开它会产生相同的错误:
编译器错误遇到处理表达式“ActiveCall”。未声明“ActiveCall”。由于其保护级别,它可能无法访问。
通过将原始 XAML 与我的代码生成的 XAML 进行比较,我发现了如何解决这个问题。我必须在标签之前有这个StateMachine
标签:
<mva:VisualBasic.Settings>
Assembly references and imported namespaces for internal implementation
</mva:VisualBasic.Settings>
顺便说一句:
标签里面的文字必须是这样的,否则在VS中打开WF会报错:
无法从文本“FooBar”创建“设置”
问题:
我必须在我的代码中进行哪些更改才能在生成的 XAML 中包含此标记?