我正在使用Visual Studio 2013开发SharePoint 2013工作流程(SP 2013内部部署)。一切工作正常,如工作流程设计师,打开文件等。工作得很好,没有任何延迟,但在开始构建时需要大约45分钟。为什么呢?
在解决方案中,只有3个工作流项目和一个cs项目(dll)。如果我构建cs项目(DLL)它建立在几秒钟内,甚至其他解决方案中的任何其他项目,构建需要正常时间,但工作流程项目需要很长时间,我不明白它为什么需要这么多时间?
我在构建开始时对devenv.exe使用了“Process Monitor”应用程序,并找到了滞后发生的位置,它位于NotifyChangeDirectory上。 “NotifyChangeDirectory”有超过15000个条目。当我使用过滤器来显示持续时间为.5秒或更长时间的过滤器时... 5000+。
有人可以帮我吗?
答案 0 :(得分:0)
我找到了解决方案。现在构建在一分钟内完成。
正如我之前提到的,构建在调用“ExpressionTranslationBuildTask”时需要时间。我对它进行了研究,发现“在构建过程中,工作流程中的任何表达式都会在工作流程上传到Workflow Manager之前转换为表达式活动”。所以我致力于减少表达式翻译工作&能够解决它。
早期工作流电子邮件正文或任务电子邮件正文中我使用字符串连接导致构建问题。
例如,
“....” +
“...” +
“”
我只是从电子邮件正文字符串中删除了所有连接并解决了问题。