以前调试网站的时候都习惯是直接在解决方案中右键调试——启动新实例,后来发现这样的缺点有:
1、启动比较慢;
2、一些浏览器的request参数无法带入;
3、不特殊指定启动url的话,VS会将页面加载到localhost,如http://localhost/test.aspx ;
这样的话通过域名加载的共享的cookie也不能共享了。
痛定思痛,我决心使用在VS中附加进程的方式调试IIS页面。
步骤如下:
1、在IIS中建立站点直接指到程序所在文件夹(或者路径指到程序发布的文件夹);
2、对要测试的页面设置断点,然后选择”调试”->”附加到进程”,在进程中选择w3wp.exe进程(需要先打开CRM或需测试的页面);如果找不到w3wp.exe进程,在进程列表的下面,有个show processes in all sessions,把它勾上就能看到了
3、但是发现怎么也不能进入断点,参考了大家的说明,生成方式是不是debug等等都没有解决我的问题,
最后发现是web项目的属性页面调试器——本机代码没有勾选,勾选上,可以成功调试页面了,so happy!
4、另外最好把上图的启用编辑并继续也打上勾,不然可能报错无法访问
第一步:建一个WebApplication项目,并新增Default.aspx页面
第二步:新增一个IIS网站,物理地址,指向项目路径,例如:D:\Documents\visual studio 2013\Projects\WebApplication3\WebApplication3
第三步:打开页面,任务管理器启动了进程:w3wp.exe
第四步:附加进程,方式:VS-调试-附加进程
注意,这个时候找不到进程w3wp.exe。
关闭VS,用管理员身份启动vs,打开之前的WebApplication项目,并勾选“显示所有用户的进程”,点击VS-调试-附加进程,可以找到该进程
第五步:浏览器打开页面Default.aspx,此时进入断点,可以调试了