在使用VS调试SharePoint的时候,需要附加w3wp进程,但是每次附加进程的时候,都有不止一个w3wp进程在运行:
一个比较懒的做法是把所有的w3wp进程都附加上,一样可以调试。但是可以使用IIS 7附带的一个小工具appcmd.exe,列出applicaiton pool所在的w3wp进程,从而准确的附加正确的进程。这个appcmd.exe位于"C:\Windows\System32\inetsrv\"文件夹下,需要使用管理员的身份才能运行。
使用管理员身份打开cmd,然后进入这个目录,获取这个命令的帮助可以看到:
这里的WP就代表w3wp的进程,使用如下命令,列出所有的w3wp进程及其中的applicaiton pool:
这样就可以找到需要附加的进程ID了。
除了这个功能,appcmd还有很多其他的功能,例如:
列出IIS中所有的站点:appcmd list site
列出IIS中所有的application pool: appcmd list apppool
等等
一个更加方便的做法是将这个命令加到VS的external command中: