15

在 Visual Studio 2010 + IIS Express 7 上,我能够使用 IIS Express 作为服务器并浏览站点。

我已经安装了带有 IIS Express 8 的 Visual Studio 2012(在 Windows 7 64 位上),但我无法浏览它上面的单个站点。此外,当我查看日志文件(\Logs 和 \TraceLogFiles)时,我什至看不到任何 2012/IISExpress 8 应用程序的单个日志条目,更不用说要查看的错误了。

查看 applicationhost.config,我确实看到了我正在尝试使用正确的路径、apppool 和端口运行的站点。

但是当尝试运行它时,IIS Express 8 启动,我得到一个异常长的暂停,然后我在浏览器中得到一个无法连接的错误。也就是说,在 IE9 中我得到“Internet Explorer 无法显示网页”,在 Chrome 中“糟糕!Google Chrome 无法连接到 localhost:60046”

有没有其他人遇到过这个?我需要做些什么来使用 VS2012 完成 IIS Express 8 的配置吗?

2013 年 3 月 2 日更新

这仍然没有解决,但这里有一个症状和部分解决方案的列表。

IIS Express 完全无法正常工作 我最初在任何情况下都无法连接到 IIS Express。原来我有 2 个问题,一个与 DNS 有关,另一个似乎与 Visual Studio 2012 中的错误有关。

问题 1:Windows DNS 我已将 Windows wifi 连接设置为使用 Google 的 DNS 服务器,而不是将其设置为自动。这适用于:

  • IIS
  • Cassini(Visual Studio 内部网络服务器)
  • 几乎其他任何东西

它不适用于:

  • 尝试连接到 localhost 时的 IIS Express - 连接失败,即使从命令行运行 IIS Express,也不涉及 Visual Studio。

解决方案是将我的 DNS 设置重新设置为自动(并将我的路由器切换为使用 Google DNS)。

问题 2:Visual Studio 2012 中的一个错误 Microsoft 尚未承认 这让我知道 IIS Express 从命令行可以正常工作,剩下的唯一问题是从 Visual Studio 2012 连接到它。Cassini 和 IIS(不是 Express ) 来自 VS2012 工作正常,包括 localhost 和在 IIS Express 中失败的相同项目。

但是,当我尝试针对 IIS Express 运行时,会出现 IIS Express 托盘图标,过了一分钟,Visual Studio 似乎冻结了,然后托盘图标消失,并且在 Visual Studio 中出现了与此问题中所示相同的错误消息:

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

一件奇怪的事情是,如果我右键单击该托盘图标并尝试在一分钟冻结期间打开浏览器,我会得到 Web 应用程序 - 它运行一分钟并按预期工作。然后当 Visual Studio 显然杀死它时它就死了。

但是,我无法确认 IIS Express 的运行次数是 w.brian 问题中的两倍。也就是说,这可能是完全相同的 Visual Studio 2012 错误,只是显示的症状略有不同。

Microsoft 错误和付费墙我已向 Microsoft 报告了该问题。他们开始和我一起诊断它,然后告诉我我需要支付 250 美元才能继续 - 我不准备这样做来帮助他们修复错误。

有几个关于此的错误报告:

我原来的错误报告: http ://connect.microsoft.com/VisualStudio/feedback/details/766233/

第二个他们让我打开官僚机构: http ://connect.microsoft.com/VisualStudio/feedback/details/779161/

w.brian 的错误报告: https ://connect.microsoft.com/VisualStudio/feedback/details/778864/

但我怀疑这与微软在其客户和他们之间的付费墙中忽略的所有相同的错误,阻止他们实际收集足够的细节来识别这里存在错误。

由于 Microsoft 浪费了我足够多的时间,我转而只使用常规 IIS 作为解决方法。

那绝对是最新的。对不起大家。

更新 8/2013:遇到此问题的机器已经死机(洒了一些东西),而我的新机器没有此问题。我已向 Microsoft 建议他们与此问题的其他人联系。如果您仍然遇到问题,请在此处发表评论,以便他们知道如何与您联系。请记住,您可以编辑 StackOverflow 问题,因此您可以随时使用更多诊断信息自己更新此问题。

4

6 回答 6

4

我在我的机器上找到了问题。

当我检查我的 C:\Windows\system32\drivers\etc\hosts 文件时,我没有

 127.0.0.1   localhost

在文件中。我记得“暂时”更改它以解决问题。重新添加丢失的记录解决了我的问题。

您可以简单地测试您的机器认为 localhost 是什么 IP ping localhost,并确保 127.0.0.1 被 ping,而不是其他 IP。

于 2013-02-25T16:30:52.917 回答
1

我在 IIS express 8.0 下的 localhost 上运行我的 asp.net MVC4 项目时遇到了类似的问题,所以我最终卸载了 IIS 8.0 并安装了 IIS express 7.5,问题立即得到了解决:

IIS Express 8.0 似乎与 VS 2012 一起安装,因此如果您有新安装或可能有服务包更新,这可能会升级您以前的 IIS express 版本。

于 2013-11-18T22:07:52.603 回答
1

我通过安装 WebMatrix(下载)解决了我的 IIS 问题。我运行了 WebMatrix,在 WebMatrix 中打开了一个站点,并且 IIS 启动得很好。关闭 WebMatrix 并在 VS 中运行一个 ASP.NET MVC 站点,它工作正常。

于 2015-04-23T02:27:59.990 回答
1

您是否检查过您的网站是否发生了 http 绑定注册?(从命令提示符运行“netsh http show servicestate”命令将显示所有已注册的绑定并检查您的站点绑定“localhost:60046”是否存在)

如果您的站点绑定不存在,请尝试以下检查绑定注册失败的原因。

  1. 打开命令提示符
  2. 转到 IIS Express 安装文件夹 (%programfiles%\iis express)
  3. 使用以下命令行 iisexpress.exe /site:"your-site-name" /trace:d 从命令行启动您的站点
  4. 如果绑定注册失败,第 3 步将显示错误消息
于 2012-10-13T15:11:57.217 回答
0

如果其他人有这个问题 - 确保 applicationhost.config 中的任何网站绑定都引用有效地址。

当 applicationhost.config 绑定到特定 IP 地址时,我收到此消息,但当时该 IP 对主机无效(我通过 DHCP 预留分配了内部网络 IP,但我在不同的网络上) .

于 2015-04-16T09:46:47.990 回答
0

我知道原始发帖人已经回答了这个问题,但是对于那些通过谷歌到达这里的人来说,这里有一个可能的解决方案:HTTPS stop working with IIS express

于 2014-03-25T12:21:16.740 回答