失败编译工作流定义

时间:2015-01-28 17:16:03

标签: c# .net workflow-foundation-4 workflow-foundation

尝试从定义加载工作流时,我收到以下错误:

Compilation failures occurred: 

     Line 0: Unable to load assembly 'PI.Shared.WF.Activities.Tests'.    Line 581: The type 'System.Object' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

Complete results are contained in the Data property of this exception.  Please correct the errors in the source and retry the Load.

我的代码简单地从byte []内存流中加载它,该内存流是XAML文件的内容。

该怎么办?这个'PI.Shared.WF.Activities.Tests'项目只是一个用于绘制工作流的类库。之后,文件本身被序列化为byte []并保存在azure存储中。当我们需要加载它时,只需获取byte []并传递给:

activity = ActivityXamlServices.Load(new MemoryStream(workflowDefinition.Definition), settings);

其中定义是带文件数据的byte []。

我应该错过什么?在工作流主机应用程序中甚至不使用'PI.Shared.WF.Activities.Tests'。

由于

1 个答案:

答案 0 :(得分:0)

发现问题。在4.5框架和工作流编译器之后,使用假/外观程序集重定向到mscorlib的PCL库还没有(至今)知道这个。

在MS Connect上查看此问题,其中有一个解决方法:

http://connect.microsoft.com/VisualStudio/feedback/details/800070/pcl-reference-in-a-workflow-project-destroys-intellisense