开发SharePoint工作流时如何改善编辑-编译-测试循环?

时间:2020-03-05 18:38:49  来源:igfitidea点击:

最近,我不得不开发一个SharePoint工作流,并且老实说,我发现这种经历是我曾经必须解决的最痛苦的编程任务。我遇到的一个大问题是必须在调试器中逐步解决该问题时遇到的问题。

这里有一篇有关如何调试SharePoint工作流的文章,告诉我们如何设置断点等。这涉及将.pdb文件与包含工作流的.dll文件一起复制到GAC中。我们必须从命令提示符(或者批处理文件)中执行此操作,因为Windows资源管理器不允许我们查看c:\ windows \ assembly的相关子目录。

但是,如果执行此操作,则下次尝试在Visual Studio中部署工作流时,它会抱怨它无法部署,因为"文件可能未签名",并且尝试复制新版本的工作流。 dll放入GAC,它告诉我们.dll文件已锁定。

我发现有时可以通过iisreset来解决这个问题,但是在其他情况下,我们必须重新启动Visual Studio,并且由于某些神秘原因,我什至经常不得不完全重新启动计算机。进程已锁定文件。另一方面,当我不使用调试器时,一切正常。

有谁知道比这更简单的调试工作流的方法?

解决方案

回答

SharePoint团队当前正在研究VS 2008的MOSS扩展,它将允许这种功能。在具有MOSS扩展名的VS 2005中可用,但是必须在Windows Server上运行且具有完整的MOSS安装并设置正确的权限。

回答

真正有帮助的一件事是,如果SharePoint团队为运行SP工作流所需的特定于SP的工作流服务提供了接口。这将允许我们模拟那些接口并在SP适当的外部运行工作流程。 AFAIK,我们今天不能这样做。

我个人发现,不仅仅针对工作流,而且针对整体而言,SharePoint的开发非常痛苦。我了解管理方面的优势和最终用户的工作效率,但是对于Joe .NET Developer来说,这是一个非常可怕的经历。

回答

至于加快IIS重置的速度,Andrew Connell也在此处提供了一些技巧
http://www.andrewconnell.com/blog/archive/2006/08/21/3882.aspx

这使我的IIS重置时间从10秒钟以上减少到不到2秒钟。

回答

我不确定我们是否需要将pdb文件放入GAC。 (至少,我将要描述的修复程序对于在VS2005中调试SharePoint Web部件非常有效,因为它存在类似的问题。)

工具->选项->调试中有一个复选框标记为"仅启用我的代码(仅受管理)";如果我们取消选中它,Visual Studio会很高兴地从构建它们的bin \ Debug文件夹中加载pdb。大概。无论如何都可以尝试...

回答

当我开始使用WSPBuilder时,在一般情况下(不仅是工作流),我开发SharePoint解决方案的速度要快得多。 WSPBuilder有一个称为WSPBuilder Extensions的Visual Studio插件,我认为WSPBuilder Extensions比臭名昭著的Windows SharePoint Services 3.0工具(Visual Studio 2008扩展版本1.2)做得更好。借助WSPBuilder菜单,只需单击一下鼠标,即可部署/升级/卸载解决方案!

回答

通过Ted Pattison,Andrew Connell,Scot Hillier等SharePoint MVP在CodePlex上查看STSDev。

STSDEV is a proof-of-concept utility application which demonstrates how to generate Visual Studio project files and solution files to facilitate the development and deployment of templates and components for the SharePoint 2007 platform including Windows SharePoint Services 3.0 (WSS) and Microsoft Office SharePoint Server 2007 (MOSS). Note that the current version of the stsdev utility only supports creating projects with the C# programming language.

基思