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

Tre*_*ott 51 asp.net iis-express windows-8 visual-studio-2012

尝试从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中创建条目.然后手动修改配置文件来改变localhost192.168.0.100这是我的本地IP.然后返回到Visual Studio中的项目属性并将localhost更改为IP并保存项目,以便我的项目现在设置为http://192.168.0.100:36899.

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

我想让我的IIS Express开发人员实例可以通过Internet上的IP进行远程测试.

Hem*_*ain 57

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

<<path_to_solution_folder>>\.vs\config\applicationhost.config
Run Code Online (Sandbox Code Playgroud)

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


Tre*_*ott 49

解决这个问题的一件事就是<bindings>applicationhost.config文件的部分中使用以下行:

<bindings>
    <binding protocol="http" bindingInformation="*:8099:" />
</bindings>
Run Code Online (Sandbox Code Playgroud)

关键是简单地删除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添加预留.

  • 棒极了!就我而言,这也有所帮助:http://blogs.msdn.com/b/finbar_ryan/archive/2013/01/02/debugging-the-unable-to-launch-the-iis-express-web-server-错误 - 从 - 视觉工作室2012.aspx (3认同)
  • 特雷弗你救了我的命.我接近退出编程并成为一名农民.我花了这么长时间来解决这个问题,但"结肠后空白"的伎俩救了我.无论如何还有一件事,对我来说我还需要添加URLACL预订,否则我会得到"无法注册URL"http://*:62940 /"for site"SITE NAME"application"/".错误描述:访问被拒绝.(0x80070005)." 需要将其完全添加到ACL列表中.感谢上帝,它现在有效. (3认同)
  • 当您为 IIS Express 更改此设置时,您需要在管理模式下运行 Visual Studio。如果没有,IIS Express 将不会启动。 (2认同)

小智 31

我有完全相同的问题.尝试了一切,但最后一招成功.

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


小智 10

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

<bindings>
   <binding protocol="http" bindingInformation="*:61235:localhost" />
</bindings>
Run Code Online (Sandbox Code Playgroud)

在" Documents\IISExpress\config " 中的" applicationhost.config "中,对于特定的Web 应用程序,每当我启动Web 应用程序时,它都会被Visual Studio 2012再次覆盖到默认端口.

但我通过无所事事解决了这个问题applicationhost.config.我刚刚将"项目属性">"网页">"项目网址"设置http://localhost:62135/更改为http://localhost:47279/(取决于您的计算机),它对我有用.


小智 10

  1. 关闭你的项目.
  2. 转到文件夹设置,然后选择显示隐藏文件夹选项.
  3. 打开应用程序所在的文件夹.你会看到一个.vs文件夹.
  4. 打开.vs文件夹,你会看到一个config文件夹.删除其内容.
  5. 以管理员模式运行Visual Studio.从File菜单中打开您的解决方案.
  6. 清洁你的解决方案
  7. 建立它.
  8. 跑吧,瞧!

我不建议删除IIS Express文件夹或弄乱其中的配置文件.


小智 6

我有同样的问题,但有不同的原因可能会帮助别人.

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

希望这有帮助,尼尔斯


小智 6

试试这个:

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


小智 5

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


Nim*_*esh 5

只需以管理员身份运行即可启动 Visual Studio

谢谢,