“无法启动IIS Express Web服务器”错误

时间:2013-08-26 23:38:42

标签: asp.net visual-studio-2012 windows-8 iis-express

尝试从Visual Studio启动IIS Express时,我收到此错误,该项目配置为侦听localhost以外的地址。在给出错误“无法启动IIS Express Web服务器”之前,Visual Studio会冻结约30秒。

我已经尝试过针对类似问题发布的所有解决方案,我认为我已经做好了所有事情。以下是我采取的步骤:

  1. 将以下预留添加到HTTP.SYS:

    netsh http add urlacl url=http://+:36899/ user=Everyone

  2. 以管理员身份运行Visual Studio 2012(从技术上讲,我认为自从我手动设置HTTP.SYS后我甚至不应该这样做。)

  3. 禁用Windows防火墙。

  4. 删除我的“我的文档”文件夹中的IISExpress文件夹以确保默认设置。

  5. 允许Visual Studio在我的Web项目的applicationhost.config中创建条目。然后手动编辑配置文件,将localhost更改为192.168.0.100,这是我的本地IP。然后返回到Visual Studio中的项目属性并将localhost更改为IP并保存项目,以便我的项目现在设置为http://192.168.0.100:36899

  6. 我也尝试更改端口并重复上述步骤,因为某些原因导致端口正在使用。

    我希望通过Internet上的IP访问我的IIS Express开发人员实例,以进行远程测试。

26 个答案:

答案 0 :(得分:54)

如果使用VS2015,请关闭解决方案,删除以下文件,然后重新打开解决方案。

<<path_to_solution_folder>>\.vs\config\applicationhost.config

请注意.vs文件夹可能隐藏

答案 1 :(得分:47)

为我解决此问题的一件事是在<bindings>文件的applicationhost.config部分中使用以下行:

<bindings>
    <binding protocol="http" bindingInformation="*:8099:" />
</bindings>

关键是简单地删除localhost。请勿使用星号替换它,不要将其替换为IP或计算机名称。在结肠后留空。

执行此操作后,我不需要以管理员身份运行Visual Studio,我可以自由地将项目属性中的项目URL更改为本地IP或计算机名称。然后,我设置了端口转发,可以访问Internet。

修改

我发现了一个让IIS Express正确提供外部请求非常重要的怪癖。

  1. 如果您以管理员身份运行Visual Studio / IIS Express,则不得使用“netsh http add urlacl ...”命令向HTTP.SYS添加预留。这样做会导致HTTP 503 Service Unavailable错误。删除您在URLACL中所做的任何预订以解决此问题。

  2. 如果您以管理员身份运行Visual Studio / IIS Express,则必须向URLACL添加预留。

答案 2 :(得分:29)

我有完全相同的问题。尝试了一切,但最终有一个技巧奏效了。

  1. 从“我的文档”中删除文件夹IISExpress
  2. 再次加载项目,它将使用更新的配置再次创建IISExpress文件夹
  3. 检查IISExpress文件夹是否具有读写配置文件的足够权限
  4. 再次加载项目并运行IISExpress。它应该工作。

答案 3 :(得分:10)

我正在更改此条目(我的网络服务器未运行,并显示特定端口的访问被拒绝错误)

<bindings>
   <binding protocol="http" bindingInformation="*:61235:localhost" />
</bindings>

Documents \ IISExpress \ config 中的“ applicationhost.config ”中针对特定的Web应用程序,只要我是Visual Studio 2012,它就会再次被默认端口覆盖启动我的webapplication。

但是我在applicationhost.config中无所事事地解决了这个问题。我只是改变了“项目属性”&gt; “web”&gt; “项目网址”设置从http://localhost:62135/http://localhost:47279/(取决于您的计算机),它对我有用。

答案 4 :(得分:6)

我有同样的问题,但有不同的原因可能有助于其他人。

在管理模式下使用命令提示: - TYPE:netsh http show iplisten 如果有任何IP条目: - TYPE:netsh http删除iplisten 重复,直到列表为空。检查IIS Express是否立即启动。

希望这有帮助, 尼尔斯

答案 5 :(得分:5)

从applicationhost.config文件中删除不必要的站点条目为我解决了这个问题。

答案 6 :(得分:5)

试试这个:

  1. 打开解决方案的属性
  2. 转到网络
  3. 在LOCAL IIS下,将写入的端口号更改为任何其他端口号并创建一个 新的虚拟目录。

答案 7 :(得分:4)

对我而言,我的项目解决方案文件夹中的applicationhost.config文件夹中的.vs文件(默认情况下隐藏了.vs文件夹)。所以,我关闭了项目并删除了{{ 1}}文件夹(vs将在您打开项目时再次重新创建它)然后重新打开项目并运行它。

答案 8 :(得分:3)

只需以以管理员身份运行

启动Visual Studio

谢谢,

答案 9 :(得分:2)

在我的情况下,我试图解决这个问题。

  1. 从&#34; MyDocuments&#34;

  2. 删除iisexpress文件夹
  3. 转到解决方案资源管理器 - &gt;右键单击项目 - &gt;转到属性 - &gt;转到网络标签 - &gt;请参阅服务器 - &gt;单击单选按钮&#34;使用Visual Studio Developtment Server&#34;

  4. 我希望这会对你有所帮助。

答案 10 :(得分:2)

我通过以下步骤修复它:

  • 关闭Visual Studio
  • 运行netsh http show urlacl,查看您的应用程序http地址/端口是否已列出。
  • 使用上一个命令显示的保留网址运行netsh http delete urlacl url=[ADDRESS]替换[ADDRESS]。例如http://+:17560/
  • 再次运行VS(作为管理员),然后转到网站项目的属性 - &gt; 网络然后点击创建虚拟目录按钮。
  • 现在您应该能够运行Web项目了。

答案 11 :(得分:1)

我花了1个小时尝试上面提到的每个食谱。然后我没有在哪里重新启动计算机,并再次尝试。一切都很好。

因此,在尝试上述所有解决方案之前,请尝试重新启动计算机。这可能会有所帮助

答案 12 :(得分:0)

我的计算机有大量的Windows更新时遇到了同样的问题。

花了几个小时尝试使用上述答案解决问题而没有运气。

过去我们因防病毒导致应用程序被其阻止而导致不同的问题,因此请尝试禁用

答案 13 :(得分:0)

我面对这个问题,我所做的只是去网页项目属性 - &gt;网络 - &gt;在ProjectUrl中,我点击了&#34;创建虚拟目录&#34;我的问题已得到修复。

答案 14 :(得分:0)

因此,在尝试了所有解决方案之后,我只是从PC上卸载了“一个驱动器”,问题就解决了。

N.B:

  • 我正在尝试运行.net核心Web应用程序。
  • Visual Studio 2017版本15.9.5
  • Windows 10 Pro,64位

答案 15 :(得分:0)

单击解决方案,然后按F4。然后从右键单击解决方案上匹配端口,然后选择属性到Web选项卡的端口。 端口号将与案例F4和“属性”相同。

答案 16 :(得分:0)

尝试删除 IISExpress 文件夹,更改端口,重新启动 VS 和 PC,但没有奏效。 但是它在服务中杀死 iisexpress.exe 服务后工作。

答案 17 :(得分:0)

修改注册表中的参数

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\HTTP

参数 Start 从 4 到 3 并重启

答案 18 :(得分:0)

以管理员身份打开命令提示符 然后执行以下命令:

netsh http show urlacl

您将看到之前添加的网址 现在你应该执行这个命令:

netsh http delete urlacl url=http://+:36899/ user=Everyone

使用时请检查列表中的网址:

  

(netsh http show urlacl)

答案 19 :(得分:0)

在Debug&gt;中网站属性。

将Project Url中的端口号更改为任意最近的值并保存

enter image description here

答案 20 :(得分:0)

在VS 2013中,我在“我的文档”上设置Google文档同步后发现此错误。更新权限不是只读的,问题已解决。

答案 21 :(得分:0)

<sites> </sites>

中删除默认网站
<site name="WebSite1" id="1" serverAutoStart="true">
    <application path="/">
        <virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
    </application>
    <bindings>
        <binding protocol="http" bindingInformation=":8080:localhost" />
    </bindings>
</site>

和您自己的<site> </site>

并运行"C:\Program Files\IIS Express\iisexpress.exe"

http://www.iis.net/learn/extensions/using-iis-express/running-iis-express-from-the-command-line

答案 22 :(得分:0)

删除我的“我的文档”文件夹中的IISExpress文件夹以确保默认设置,或者在工作正常时将其恢复到以前的版本。

答案 23 :(得分:0)

前几天我遇到了这个问题,以上所有项目都无法帮助我。 我的SONY VAIO笔记本电脑上有ESET Smart Security 5.0,可以在交互模式下工作! 最后我发现了问题, ESET阻止了VS2012! 在过去,ESET要求我允许VS2012与微软通信,我选择了“拒绝访问”,ESET疯狂地否认了 VS2012。我从“ESET规则区域”中省略了这条规则,我的问题就解决了!

答案 24 :(得分:0)

一开始,尝试禁用防火墙。它帮助了我。 Eset Smart Security 5阻止了它。

答案 25 :(得分:0)

我在Visual Studio 2012中遇到了同样的问题。我设法通过从C:\ Program Files(x86)\ IIS Express \ AppServer \ applicationhost.config路径中删除不必要的站点条目来解决它。随着以管理员身份运行我的VS2012。希望这有帮助