Workflow 具有类库的工作流设计器支持

Workflow 具有类库的工作流设计器支持,workflow,workflow-foundation,Workflow,Workflow Foundation,我需要将工作流添加到现有的解决方案中,该解决方案已经包含一个类库和一个网站。如果我将工作流添加到类库中(它们在逻辑上适合),我就没有设计器支持。如果我在单独的项目中创建它们,我倾向于具有循环依赖关系,因为我的域对象运行工作流,而工作流需要我的域对象 避免此问题的首选体系结构是什么?解决此问题的方法是将域对象拆分为POCO程序集(称为域)和对POCO对象执行操作的方法程序集(称为操作)。这意味着所有otehr程序集都可以包含域对象,并以这种方式在它们之间传递数据。因此,我的解决方案如下所示(任何程

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


避免此问题的首选体系结构是什么?

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

  • 网站
  • 工作流程
  • 操作
  • 领域

如果我理解您的问题,那么如果您的类库中有对WF的设计器支持,这样您就可以在那里添加工作流定义,那么问题就可以解决了

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

在第一个PropertyGroup中:

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

在文件的底部:

对于VS2008:

对于VS2005:

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

但是正如gbanfill提到的,您也可以以不同的方式组织程序集