已解决 - 请参阅以下更新 ...
- 我在单独的工作流活动项目中创建了活动
- 在我的SharePoint项目中,我添加了对活动项目的引用
- 我还将活动项目的输出包含在SharePoint包中(部署到GAC)
- 接下来,在我的SharePoint项目中,我创建了一个预部署的msbuild操作,将我的活动dll复制到工作流管理器目录(活动和WFWebRoot \ bin)。
- 当然我也放了一个" AllowedTypes.xml"在两个相关目录中。
- 我做了不自动重启工作流管理器后端服务。我相信如果.xml文件发生了变化,我只需要重启它,对吗?或者我的activities.dll发生变化?
醇>
现在我的问题是我无法调试我的工作流CodeActivity 。工作流程工作正常并附加到workflow.servicehost.exe我可以在visual studio中调试我的工作流程 - 它会在任何声明性工作流活动中遇到断点。不幸的是,我的自定义CodeActivity中的任何断点都没有被击中:(
有什么想法吗?显然,我在同一台机器上运行SharePoint和Workflow Manager。我不确定为什么需要将活动dll部署到GAC - 并且iisreset ?! (见technet article)
更新:吸取了一些经验教训......
- 在部署之前停止WorkflowServiceBackend(我使用构建事件)。
- 在部署后事件中再次启动WorkflowServiceBackend
否则,工作流服务可能会阻止访问GAC活动程序集,并且不会被替换。它发生在我身上。现在,您(应该)知道任何GAC' ed组件总是优先于任何" local"部件。很明显,工作流服务使用了我的GAC程序集 - 我还需要将我的活动程序集复制到artifcats和wfwebroot \ bin吗?没有。我从工作流管理器目录中删除了我的dll,我仍然可以执行和调试我的工作流程活动,而不会产生任何麻烦。
醇>