更新
我确定这是一个Visual Studio的错误,没有明显的解决方法。我遇到了许多遇到相同问题的人。我在此提交了一个Microsoft的错误报告:
如果你有与下面描述的同样的问题,请投票支持一下这个错误报告,以便得到更多关注。
每当我尝试在配置为在IIS Express(版本8)上运行的Visual Studio 2012中调试MVC3(或MVC4)应用程序时,就会出现以下错误:
重点是:IIS Express确实启动了,即使Visual Studio认为没有,并且调试器无法连接。 IIS Express系统托盘会打开,我可以清晰地看到所有配置的网站都已启动:
奇怪的是,IIS Express系统托盘报告在运行IIS Express时出现了一些错误。这是它的原话:
这是一个非常让人困惑的问题。它报告说8080端口被一个IIS Express进程使用了,而这个进程正是Visual Studio刚启动的那个。所以,Visual Studio试图启动两次IIS,并且当第二次可预测地失败时,调试器崩溃了。需要注意的是,在Visual Studio中启动调试配置之前,我确保没有任何IIS Express进程在运行中。使用Process Monitor验证后发现,Visual Studio实际上尝试了两次启动IIS Express:
在上面的屏幕截图中可以清楚地看到运行在IIS Express PID 4732上的网站。PID 4924是第二次尝试启动IIS Express失败的进程。
这个问题最初出现在Windows 7上。我完全重新格式化了硬盘,安装了全新的VS2012,但依然出现了相同的问题。我更进一步,重新格式化了硬盘,安装了Windows 8和全新的VS2012,但问题仍然存在。
我创建了全新的空白MVC3和MVC4项目。什么也没有解决它。
我都快抓狂了。如果有帮助,将不胜感激。