SharePoint 2010调试(1):F5
2 min read

SharePoint 2010调试(1):F5

在SharePoint 2007时代,我们在进行调试时,很多时候需要手工去附加w3wp.exe进程,SharePoint 2010改进了这一点,准确地说,是Visual Studio 2010 SharePoint开发工具改进了这一点,现在我们可以使用F5来调试了,就像调试桌面应用那样简单。那么Visual Studio究竟为我们做了什么呢?

第一次使用F5调试时,Visual Studio会提示对SharePoint网站的Web.config进行配置,这里会进行三处修改:

  • 启用调用堆栈:
    <SafeMode CallStack="true"/>
  • 禁用自定义错误以查看详细的错误信息:
    <customErrors mode="Off"/>
  • 启用编译调试:
    <compilatioin debug="true">

然后Visual Studio会执行一系列地步骤来进行部署以及调试前的准备工作:

  1. 执行“预先部署命令行”,可以在项目属性的“SharePoint”选项卡中进行配置;
  2. 使用MSBuild来创建WSP文件;
  3. 如果部署在服务器场中,则回收IIS应用程序池;
  4. 如果部署的是解决方案的新版本,则依序执行以下操作:
    1. 停用Feature
    2. 卸载现有版本
    3. 删除现有版本
    4. 删除WSP文件

    此时会触发Feature Receiver;

  5. 安装新的解决方案和Feature;
  6. 如果部署的是工作流,则将工作流程序集安装到GAC;
  7. 激活网站集或网站Feature,如果是Web Application或Farm Feature,则需要手工激活。此时会触发Feature Receiver;
  8. 如果部署的是工作流,则将其关联到指定的列表;
  9. 执行“后期部署命令行”,也是在项目属性的“SharePoint”选项卡中进行配置;
  10. 将调试器附加到相应的进程:
    1. 针对Full Trust解决方案,附加到SharePoint进程(w3wp.exe);
    2. 针对沙盒解决方案,附加到(SPUCSPUWorkerProcess.exe);
  11. 如果部署到服务器场,则启动JavaScript调试器;
  12. 启动浏览器,显示相应的SharePoint网站。

此外,还可以通过修改注册表来在Visual Studio的“输出”面板中查看更加底层的Stack Trace信息。方法如下:

  1. 打开注册表编辑器,找到HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\SharePointTools
  2. 修改或创建一个DWORD项,名为EnableDiagnostics,值为1。