编译 SharePoint 解决方案时,它会部署到 SharePoint 服务器,调试器会附加以便对其进行调试。 用于调试解决方案的过程取决于沙盒解决方案属性的设置:沙盒解决方案或场解决方案。
有关详细信息,请参阅 沙盒解决方案注意事项。
场解决方案
服务器场解决方案是托管在 IIS 工作进程 (W3WP.exe) 中的代码,它们的运行可能影响整个服务器场。 调试受限解决方案属性设置为“农场解决方案”的 SharePoint 项目时,系统会在 SharePoint 撤回或部署功能之前回收系统的 IIS 应用程序池,以便释放被 IIS 工作进程锁定的任何文件。 仅回收提供 SharePoint 项目站点 URL 的 IIS 应用程序池。
沙盒解决方案
沙盒解决方案,托管在 SharePoint 用户代码解决方案工作进程(SPUCWorkerProcess.exe)中,运行的代码仅会影响该解决方案的网站集。 由于沙盒解决方案不会在 IIS 工作进程中运行,因此 IIS 应用程序池和 IIS 服务器都不得重启。 Visual Studio 将调试器附加到 SPUCWorkerProcess 进程,SharePoint 中的 SPUserCodeV4 服务会自动触发和控制。 SPUCWorkerProcess 进程无需回收以加载最新版本的解决方案。
任一类型的解决方案
使用任一解决方案类型,Visual Studio 还会将调试器附加到浏览器以启用客户端脚本调试。 Visual Studio 将脚本调试引擎用于此目的。 若要启用脚本调试,必须在系统提示时更改默认浏览器设置。
Visual Studio 仅将调试器附加到运行当前站点的 W3WP 或 SPUCWorkerProcess 进程。 Visual Studio 还附加托管 COM Plus 和工作流调试引擎。