在VS2012中调试MVC应用程序尝试两次启动IIS Express

w.b*_*ian 29 asp.net-mvc visual-studio-debugging iis-express visual-studio-2012

UPDATE

我确定这是一个没有明显解决方案的Visual Studio错误.我遇到过很多人都有同样的问题.我在这里向微软提交了一张错误票:

http://connect.microsoft.com/VisualStudio/feedback/details/778864/vs2012-is-spawning-two-iisexpress-processes-when-attempting-to-debug

如果您遇到如下所述的相同问题,请将错误凭证投票,以便获得更多关注.


每当我尝试在Visual Studio 2012中调试配置为在IIS Express(版本8)上运行的MVC3(或MVC4)应用程序时,我都会收到以下错误:

在此输入图像描述

这是踢球者:IIS Express 正在启动,即使Visual Studio不这么认为并且调试器无法附加.IIS Express托盘打开,我可以清楚地看到所有已配置的网站已启动:

在此输入图像描述

奇怪的是,IIS Express系统托盘报告在运行IIS Express时出现了一些错误.这就是它所说的:

在此输入图像描述

这是一个严重的WTF.据报道,IIS Express正在使用8080,这是一个刚刚由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项目. 什么都没有修复它.

我在这里撕扯我的头发.任何帮助将不胜感激.

Ben*_*ter 8

w.Brian,我已经关注这篇文章,因为它已经开始并且已经有相同的问题已经有一段时间了,我刚刚发现了导致这个问题的原因.我已经能够为此重现并修复错误:

VS2012启动两次的原因与连接到域并登录到域帐户有关.一旦我登录到完全本地的管理员帐户,我就能够毫无问题地启动和调试MVC4应用程序.这是使用附加到我的域的Windows 8 Pro,VS2012 Update 1,没有其他软件/扩展/配置.完全清洁安装.


bot*_*bot 5

嗨也许这个解决方案可以帮到你.

  • 管理RuntimeVersion ="4.0"到"4.0.30319"

例:

<applicationPools>
<add name=”Clr4IntegratedAppPool” managedRuntimeVersion=”v4.0.30319? managedPipelineMode=”Integrated”     CLRConfigFile=”%IIS_USER_HOME%\config\aspnet.config” autoStart=”true” /><br/><br/>
Run Code Online (Sandbox Code Playgroud)

参考:问题:Visual Studio 2012>"无法启动IIS Express Web服务器"

在/元素下,注释掉该行

<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />
Run Code Online (Sandbox Code Playgroud)

在//元素下,注释掉该行

<add name="HttpLoggingModule" lockItem="true" /> 
Run Code Online (Sandbox Code Playgroud)

保存更改后,请尝试重新启动iis express.



参考:来自stackoverflow论坛:无法启动IIS Express Web服务器

  • 它对我有用.只需在Dev Web服务器中切换到Visual Studio Build,然后运行该应用程序.重新启动然后切换回本地IIS Express. (2认同)