WorkFlow设计器支持类库

时间:2008-12-07 12:33:23

标签: workflow workflow-foundation

我需要将工作流添加到现有解决方案中,该解决方案已包含类库和网站。如果我将工作流添加到类库中,它们在逻辑上适合,我没有设计器支持。如果我在一个单独的项目中创建它们,我倾向于循环依赖,因为我的域对象运行工作流,工作流需要我的域对象。

避免此问题的首选架构是什么?

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题,如果你在类库中有WF的设计师支持,那么你可以在那里添加工作流定义吗?

为此,您可以编辑相应的类库项目文件(C#的* .csproj)并添加以下行:

在第一个PropertyGroup中:

<ProjectTypeGuids>{14822709-B5A1-4724-98CA-57A101D1B079};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>

在文件的底部:

对于VS2008:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.5\Workflow.Targets" />

对于VS2005:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\Windows Workflow Foundation\v3.0\Workflow.Targets" />

在IDE中重新加载项目后,您应该获得对WF的支持。

但正如gbanfill所提到的,你也可以用不同的方式组织你的装配。

答案 1 :(得分:0)

我解决这个问题的方法是将域对象拆分为POCO程序集(称为Domain)和一组在POCO对象上执行操作的方法(称为操作)。这意味着所有的otehr组件都可以包含域对象,并以这种方式在它们之间传递数据。所以我的解决方案看起来像(任何程序集都可以包含列表中较低的程序集)

  • 网站
  • 工作流
  • 操作
相关问题