Visual Studio 2015:调试会话无法正常终止

7
我最近重新拾起了一个 MVC5/WebAPI2(和SignalR)应用程序,它在VS2013下运行得非常好。
然而,在VS2015中,我一直在与似乎是挂起的调试会话作斗争:当开始调试会话时,VS2015会停在“生成成功”的位置,控制台没有输出。解决方法是通过任务管理器终止IIS工作进程(它似乎被锁定在20-30%的CPU使用率)。这样做后,VS会抛出通用错误消息并停止。再次尝试时,它正常工作,直到下一次停止-然后-启动。
无论我是停止(Shift+F5)调试会话还是重新启动(Ctrl+Shift+F5),都不会有任何区别,两者都似乎会锁定IIS进程。然而有效的方法是转到“调试” ->“全部终止”,然后调试会话就可以顺利开始。
我已经尝试禁用几乎所有的调试工具(包括Edit-and-Contiune),但是迄今为止没有任何作用。我还应该提到,在IIS Express上运行应用程序根本不起作用:无论如何,它都会在启动期间挂起。更新:如果让调试启动过程超时,会弹出错误消息。我当然已经尝试了“帮助”按钮带我去的所有建议解决方案。

enter image description here

更新 II:看起来问题可能与 SignalR 有关。我已经一小时左右没有问题地工作了,但现在进入了使用 SignalR 的应用程序部分。在停止并更改了一些代码后,调试会话无法再次启动。

请参考此链接:http://blog.nick.josevski.com/2015/02/17/iis-visual-studio-unable-to-start-debugging-on-the-web-server/ - Krsna Kishore
该链接无法使用,这似乎是VS 2015或IIS Express中的一个错误。我不记得在2012年或2013年有这个问题。但自从MS从Cassini改成IIS Express之后,我就遇到了停止调试的随机问题。有时候这个问题不会干扰我的工作,但有时候会。例如,我正在使用AJAX HtmlEditorExtender将HTML文件写入磁盘。测试后,停止了Web应用程序,进行了一些代码更改,尝试再次运行Web页面,但是HTML文件仍然被前一个进程使用并锁定。呃!!必须在TaskMgr中杀掉它。 - htm11h
请注意,我在这个项目中没有使用SignalR,但是我有一些演示项目使用了它。 - htm11h
2个回答

2

请确保您同时开启了“Internet Information Services Hostable Web Core”和所有其他.NET/IIS功能

尝试更改此文章中显示的IIS设置


这看起来很有前途,但考虑到问题的性质,我会等一段时间再接受。希望你能理解。 - Index
@KGChristensen,你能考虑一下这个解决方案吗?还是你想再等一会儿? - Krsna Kishore
很不幸,我要等到本周末才能开始处理那个问题所在的项目。看起来问题在周末前又出现了,但我无法确认。请耐心等待一段时间。 - Index
不幸的是,问题并没有得到解决。它又开始出现了,而且没有明显的原因。所以,唉,真糟糕。 - Index
你有重新检查IIS设置吗? - Krsna Kishore
显示剩余7条评论

0

谢谢您的回复。然而,这个问题最终让我感到非常困扰,导致我进行了重构,将SignalR从应用程序中移除。一旦SignalR被移除,问题也就解决了。换句话说,很遗憾我不能接受您的答案,因为它已经无法再现了。 - Index

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接