我遇到了一个问题,当我尝试将我的调试器连接到IIS Express时,它失败并显示“无法连接到进程。灾难性故障”。然后它会终止我的IIS Express会话。我不知道从哪里开始调试此问题。
导致这一点的步骤:
想知道Visual Studio日志的去向,看看可能发生了什么?我尝试使用/ log选项运行devenv.exe,但它对任何错误没有帮助。
我也查了一下IIS日志,但没有任何异常指向灾难性的失败。
答案 0 :(得分:8)
您是否在同一个应用程序池中运行多个站点? 我遇到了同样的问题,并认为将应用程序站点分成不同的应用程序池可以解决问题。
此外,我在Visual Studio中选择了错误的启动项目时遇到了问题。确保在连接之前选择了正确的启动项目,但我不明白这为什么重要。
此外,我还为应用程序启动调试器创建了一个控制器,这不仅使其更容易,而且似乎也没有问题。
#if DEBUG
public virtual ActionResult Attach()
{
System.Diagnostics.Debugger.Launch();
return new EmptyResult();
}
#endif
答案 1 :(得分:0)
从一点点看来,问题出在以下情况时是附加到IISExpress进程上的:
如果发生这种情况,那么对于未配置为启动项目的每个IIS Express进程:
然后,您可以在那时重新连接(在刷新进程列表之后)到新的IIS Express进程。
要避免这种舞蹈,您可以:
然后,您可以附加到从管理控制台运行的实例,而不会影响它们。
答案 2 :(得分:0)
以防万一有人遇到相同的问题,当我在应用程序中将另一个项目设置为启动项目而不是在要附加的IISExpress处理上运行时,我确实看到了这种奇怪的行为,因此只需更改您的项目即可开始和Attach to Process
。