我使用 Visual Studio 2010 为 sharepoint 2010 站点编写了一个事件处理程序。我在代码中附加了一个断点,并按照我在 Visual Studio 2008 中完成的过程进行操作。
就是使用Attach to process选项,选择w3wp选项。
事件已附加,但断点未触发。
我已检查网站集并检查管理网站设置以查看事件处理程序是否已启用。它已启用。我尝试禁用并再次启用它。即使现在它也没有发射。
我还尝试清理构建解决方案并重新构建它。调试器未触发。
发表回复
提前致谢 巴拉德瓦吉.PC
最佳答案
以下是一些需要检查的事项:
您是否遵循正确的流程?
- 在服务器 (IIS7+) 上使用
appcmd.exe list wp
是确定哪个进程 ID 属于哪个应用程序池的有效方法。如果附加到错误的进程 ID,即使名称正确,断点也不会触发。
您的 PDB 是否与 .dll 一起安装?
- 当我使用基于 GAC 的部署时,我经常使用 PowerShell 脚本将 PDB 文件复制到程序集所在的 GAC 文件夹中,通常类似于 C:\WINDOWS\assembly\GAC_MSIL\MYLibrary\1.0.0.0_publickeytoken。
- 使用基于 bin 的部署时,只需确保 pdb 也在 bin 文件夹中即可。
调试时,检查“模块”调试窗口。
- 查找您的程序集以确定是否加载了调试符号。如果不是,请阅读原因。请注意,您可能需要至少调用一次代码才能加载程序集。
- 有时,它可能会提到 pdb 版本与程序集不匹配。如果您在构建和部署时没有推出新的 pdb,即使您没有对代码进行任何更改,也可能会发生这种情况。如果发生这种情况,只需重新部署新构建的程序集和 pdb。
关于visual-studio-2010 - 将进程附加到 Visual Studio 2010 for Sharepoint 2010 站点中的事件处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3553619/