如何强制工作流包含本地类型程序集名称

本文关键字:程序集 类型 何强制 工作流 包含本 | 更新日期: 2023-09-27 17:54:15

我正在使用WF4,我在同一个项目中拥有我的类型,活动和工作流,然后我使用ActivityXamlServices.Load(路径)来加载我的工作流活动,它抛出以下异常:

The type ‘InArgument(local:,,,, of property ‘InputArgs’ could not be resolved

通过在这篇文章中查看这个问题的解决方案,我在工作流中手动包含了程序集名称,并且它都工作了。

问题:每次我在工作流程中进行任何更改,它都会重写xaml并删除我手动添加的程序集名称。

问题:是否有一种方法可以强制包括本地类型的程序集名称?

如何强制工作流包含本地类型程序集名称

技巧是使用XamlXmlReaderSettings并指定应该用作本地程序集引用的内容。

var settings = new XamlXmlReaderSettings()
{
    LocalAssembly = typeof(YourArgumentType).Assembly
};
var reader = new XamlXmlReader(path, settings);
Activity workflow = ActivityXamlServices.Load(reader);