【问题标题】:Cannot start IIS Express无法启动 IIS Express
【发布时间】:2014-02-24 13:08:06
【问题描述】:

我刚刚安装了 Visual Studio 2012,想创建我的第一个 WCF 服务应用程序。我是一名来到 .NET 世界的 Java 开发人员,所以请理解 :)

我创建了一个新的 C# 项目 WCF 服务应用程序。然后我点击调试(或 F5),我收到一条错误消息:

Unable to launch IIS Express

当我再次单击时,出现另一个类似的错误,但这次 IIS 出现在托盘中,我收到通知(气泡),当我单击它时,出现一条消息:

Port '53234' is already being used by process 'IIS Express' (process ID '5524')

我尝试在 Web 选项卡的项目属性中更改端口,但它没有改变任何内容。 msgs是一样的,只是端口号改变了。

对我来说这很有趣,但我无法解决它。已经尝试更改端口,我重新安装了 IIS,重新启动 Visual Studio 和 PC。我想使用的端口上没有运行任何东西。

我使用的是 Windows 8.1 x64、Visual Studio 2012 (IIS 8)。

编辑

IIS中有一个日志消息:

Failed to register URL "http://localhost:53234/" for site "WcfService1" application "/". Error description: Cannot create a file when that file already exists. (0x800700b7)
Registration completed

【问题讨论】:

标签: c# wcf iis visual-studio-2012


【解决方案1】:

对我来说,这个问题是由于项目中的错误配置造成的,它在 IISExpress 的 applicationHost.config 文件中表现出来。

我将 http 和 https 端口设置为相同。

            <site name="{projectname}" id="3">
            <application path="/" applicationPool="Clr4IntegratedAppPool">
                <virtualDirectory path="/" physicalPath="{myPath}" />
            </application>
            <bindings>
                <binding protocol="https" bindingInformation="*:57287:localhost" />
                <binding protocol="http" bindingInformation="*:57287:localhost" />
            </bindings>
        </site>

要解决这个问题,请编辑项目文件以正确使用不同的端口。

另一个选项是删除 applicationHost.config 文件,Visual Studio 将在启动 IISExpress 时重新创建它。它不会解决项目配置错误,但它可能会解决我不得不做几次的错误配置。

*注意:* 要查找 IIS 的 applicationHost.config 文件,请参阅此问题Where is the IIS Express configuration / metabase file found?

【讨论】:

  • 感谢您的意见。我很了解你的情况。您能否澄清一下我必须编辑哪些内容才能防止这种情况发生?
  • 感谢您。像我们这样的傻瓜需要团结在一起
【解决方案2】:

我遇到了同样的问题,我所做的如下:

  • 转到项目属性 -> Web
  • 更改端口号并点击创建虚拟目录按钮

现在您将能够运行应用程序而不会出现任何错误。

【讨论】:

【解决方案3】:

我最近遇到了这个问题,我的解决方案不在这里,所以我想我会添加它。

我的问题是 netsh 添加了一个与我的本地主机绑定匹配的 urlacl,导致此错误消息。

解决方案是调用netsh http show urlacl 并查看是否列出了您的iis express 绑定。我的本地主机绑定是针对https://localhost:44300。所以要修复它,我不得不打电话:

netsh http delete urlacl url=https://localhost:44300/

【讨论】:

  • 这也是我的问题。它是由先前对另一个站点的绑定引起的,并最终在端口上进行了完全保留。非常感谢!
【解决方案4】:

我在打开两个 Visual Studio 2012 实例时遇到了这个问题,其中不同的项目恰好具有相同的名称(默认名称为 App)。

我可以通过关闭一个 Visual Studio 实例来解决此问题。

【讨论】:

    【解决方案5】:

    对我来说问题的根本原因是我有一个在本地 IIS 中运行的网站,该网站绑定到与我试图通过 Visual Studio 的 IIS Express 启动的端口相同的端口。 Visual Studio 调试器将启动,一切看起来都很好,但是没有加载任何 dll,而且无论我在网站上做了什么,内存图都只是一条 13[MB] 的平线(这实际上是由本地 IIS)。

    所以,我只需要更改其中一个端口号。

    【讨论】:

      【解决方案6】:

      我尝试了netsh http show urlacl,但没有看到我的地址,我的 applicationHost.config 文件看起来正确,并且 IIS 内部没有任何问题。我通过关闭 Visual Studio、从解决方案文件夹中删除 .vs 目录并重新启动 Visual Studio 来修复它。

      【讨论】:

        【解决方案7】:

        对我来说,这仅在我执行 Ctrl+F5(不调试就开始)时发生(在 Visual Studio 2019 中),但调试时没有问题。 @Mike Mengells answer 让我走上正轨。在我的项目属性中,我将“启用 SSL”从 true 切换为 false,一切都很好:)

        【讨论】:

          【解决方案8】:

          我的问题是它试图使用带有这样的 URL 的 SSL 启动:

          https://localhost:34342/
          

          我从 https 中删除了“s”,然后它起作用了。

          【讨论】:

            猜你喜欢
            • 2012-07-26
            • 2020-04-06
            • 1970-01-01
            • 1970-01-01
            • 2011-09-04
            • 2014-04-05
            • 2017-09-03
            相关资源
            最近更新 更多