29

更新

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

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

如果您遇到与下面描述的相同的问题,投票给错误票,以便得到更多关注。


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

在此处输入图像描述

关键是:IIS Express正在启动,尽管 Visual Studio 不这么认为并且调试器无法附加。IIS Express 托盘打开,我可以清楚地看到所有配置的网站都已启动:

在此处输入图像描述

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

在此处输入图像描述

这是一个严重的WTF。它报告 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 项目。 没有什么能解决它。

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

4

11 回答 11

8

w.Brian,我从一开始就关注了这篇文章,并且已经有很长一段时间遇到完全相同的问题,我刚刚发现是什么导致了我的问题。我已经能够通过以下方式为自己重现和修复错误:

VS2012启动iis express两次的原因与被附加到域并登录到域帐户有关。一旦我登录到一个完全本地的管理员帐户,我就可以毫无问题地启动和调试 MVC4 应用程序。这是使用附加到我的域的 Windows 8 Pro、VS2012 Update 1,并且没有其他软件/扩展/配置。完全干净的安装。

于 2013-03-20T21:47:27.647 回答
5

嗨,也许这个解决方案可以帮助你。

  • 管理 RuntimeVersion="4.0" 到 "4.0.30319"<br/>

例子:

<applicationPools>
<add name=”Clr4IntegratedAppPool” managedRuntimeVersion=”v4.0.30319″ managedPipelineMode=”Integrated”     CLRConfigFile=”%IIS_USER_HOME%\config\aspnet.config” autoStart=”true” /><br/><br/>

参考:问题:Visual Studio 2012 > “无法启动 IIS Express Web 服务器”</a>

在 / 元素下,注释掉该行

<add name="HttpLoggingModule" image="%IIS_BIN%\loghttp.dll" />

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

<add name="HttpLoggingModule" lockItem="true" /> 

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



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

于 2013-02-11T07:51:18.000 回答
4

右键单击您的 MVC 项目/*所有项目一一*/
转到属性
转到 Web 选项卡
,您必须在其
下方的文本框中选中“使用本地 IIS 网络服务器”单选框,确保项目具有相同的端口在你的情况下是8080

于 2013-02-27T10:09:42.307 回答
3

看看这里的答案:

http://forums.asp.net/t/1953087.aspx?VS+2013+Unable+to+launch+the+IIS+Express+Web+Server

当“bg”是用户名的一部分时,在 Windows 8 机器上这是一种奇怪的行为

于 2014-04-23T13:45:09.470 回答
2

我参加聚会可能有点晚了——这是我的两便士:

a) http://saintgimp.org/2012/05/03/fixing-the-error-unable-to-launch-the-iis-express-web-server-failed-to-register-url-access-is-拒绝/

b) http://abhijitjana.net/2010/07/20/unable-to-start-web-site-on-iis-process-can-not-access-the-file-because-its-being-used-通过另一个过程如何解决/

概要:当前端口(通常是 Skype)有一个 URL 预留

于 2013-02-20T14:33:56.153 回答
2

以防万一,您是否已127.0.0.1 localhost文件夹/system32/drivers/stc/hosts 中定义?否则,您可以在这里查看,这可能只是关键。

干杯

于 2013-02-27T13:17:00.420 回答
1

我在使用我的域帐户的 Windows 8 和 Windows 8.1 上遇到了同样的问题。在我的情况下,将 Documents 文件夹路径(右键单击 Documents 文件夹 -> 属性 -> 位置)从C:\Users\username\Documents更改为D:\Documents帮助

于 2014-01-23T17:17:36.860 回答
1

本周,我遇到了同样的问题:IIS Express 启动,但是 VS 抱怨它无法启动 IIS Express 并且调试失败。

我终于通过对 IIS Express 应用 2014 年 6 月的热修复解决了这个问题:

我们(我的 IT 支持人员和我)在遇到一个非常不可能的问题后发现了这个修补程序。显然,MS 验证了 IISExpress 8.0 中的一个错误,如果应用程序名称的任何部分包含字母组合“bg”(我的用户名以 bg 开头),它会导致行为异常:

注意:VS 2013 Update 4 已经包含了这个修复,这可能就是为什么有些人仅仅通过更新到 VS 2013 就能成功的原因。

我们发现的其他一些关于该问题的链接(您可能需要浏览一下才能找到该主题):

于 2014-10-14T17:44:53.080 回答
1

在我的情况下起作用的是卸载项目,然后编辑 csproj 文件。我删除了有关 IIS 和 IISEXPRESS 的所有部分。然后我重新加载项目并再次从项目属性中选择使用 IIS EXPRESS。然后它起作用了。

于 2015-05-03T13:36:41.833 回答
0

我今天遇到了一个相同的问题(IISExpress 尝试启动两次并在 Visual Studio 中点击调试时失败)同时帮助另一个开发人员使用 Web 表单站点。在尝试了几种解决方案后,我们发现我们可以通过以下方式解决问题:

  • 创建新的空 Visual Studio 解决方案
  • 添加指向新的空文件夹的“现有网站”
  • 将现有(非工作)网站的内容复制到我们创建的新文件夹中

简单地删除网站并将其重新添加到原始解决方案中不起作用,创建新解决方案并添加回现有网站也不起作用。我可以从命令行启动 IISExpress 就好了。

在对 .SLN 文件进行前后比较之后,我相信这就是问题所在。由于我找到了解决方法,因此我没有花很多额外的时间。显然,从头开始重新创建整个解决方案可能不是大型项目的选择(我们的项目非常小),但希望这至少指向正确的方向。

于 2014-09-30T19:14:17.240 回答
0

当然,该站点有两个实例FrontEnd正在运行,但请注意,一个实例是 HTTP,另一个是HTTP S。

在网站属性中SSL Enabled设置为TrueProject Url但在Web选项卡上设置为 HTTP 地址时,可以获得两个实例。

使它们都成为 HTTP(或 HTTPS),这可能会解决它。

于 2016-05-02T08:32:48.170 回答