【问题标题】:Loading XAML workflow with multiple activity assemblies使用多个活动程序集加载 XAML 工作流
【发布时间】:2016-01-19 17:59:45
【问题描述】:

我有一个 XAML 工作流,它使用存储在多个 dll 中的自定义活动。我正在尝试使用 WorkflowApplication 执行此工作流。但是,在加载 XAML 时,我无法弄清楚如何解析多个引用程序集。我知道 XamlXmlReaderSettings 提供了 LocalAssembly 属性,它允许我们提供参考程序集。但是,它只允许提供单个组件。如何向读者提供多个参考程序集,以便它能够解析外部类型?任何帮助将不胜感激。我已经粘贴了我正在使用的代码以供参考。

public void LoadWorkflowFromFileAsync(string workflowXaml, Assembly activityAssembly)
{
   var xamlReaderSettings = new XamlXmlReaderSettings
   {
      LocalAssembly = activityAssembly
   };
   var xamlSettings = new ActivityXamlServicesSettings
   {
      CompileExpressions = true
   };
   using (var reader = new XamlXmlReader(workflowXaml, xamlReaderSettings))
   {
      _activity= ActivityXamlServices.Load(reader, xamlSettings);
   }
}

【问题讨论】:

    标签: xaml workflow-foundation-4 workflow-foundation


    【解决方案1】:

    XAML 中的xmlns 是否包含程序集名称(例如xmlns:ede="clr-namespace:Sample.MyActivityLibrary;assembly=Sample.MyActivityLibrary")?

    我不知道要在 XamlXmlReaderSettings 中引用多个本地程序集,但如果在 XAML 中引用了该程序集,它应该会自动解析。

    【讨论】:

    • 我以前也是这么想的。但后来我试了一下,看起来这是可能的。最终我不得不挂钩 AppDomain AssemblyResolve 事件来加载多个程序集。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多