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

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

我已经尝试了所有类似问题的解决scheme,我想我已经做了一切正确的事情。 以下是我所采取的步骤:

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

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

  2. 以pipe理员身份运行Visual Studio 2012(技术上我不认为我应该甚至必须手动设置HTTP.SYS)。

  3. 禁用Windows防火墙。

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

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

我也尝试改变端口,并重复上述步骤,只是因为某些原因端口被使用。

我想让我的IIS Express开发者实例可以通过Internet上的IP进行远程testing。

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

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

关键是简单地删除本地主机。 不要用星号replace它,不要用IP或计算机名称replace它。 冒号之后留空。

这样做后,我不需要以pipe理员身份运行Visual Studio,我可以自由地将项目属性中的Project Url更改为本地IP或计算机名称。 然后,我设置端口转发,并可以访问互联网。

编辑:

我发现了一个让IIS Express能够正确处理外部请求很重要的怪癖。

  1. 如果以pipe理员身份运行Visual Studio / IIS Express,则不能使用“netsh http add urlacl …”命令向HTTP.SYS添加保留。 这样做会导致HTTP 503服务不可用错误。 删除您在URLACL中所做的任何保留来解决这个问题。

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

如果使用VS2015删除以下文件

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

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

我有完全相同的问题。 试了一下,但最后一个窍门奏效。

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

我正在改变这个条目(为此,我的networking服务器没有运行,并显示特定端口的访问被拒绝错误)

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

在“ Documents \ IISExpress \ config ”中的“ applicationhost.config ”中,对于特定的Web 应用程序 ,每当我开始我的Web 应用程序时 ,它将被Visual Studio 2012重写为默认端口。

但是我通过在applicationhost.config无所事事解决了这个问题。 我只是将“项目属性”>“网站”>“项目URL”设置从http://localhost:62135/改为http://localhost:47279/ (取决于您的计算机),它为我工作。

  1. closures你的项目。
  2. 转到文件夹设置并select显示隐藏文件夹选项。
  3. 打开您的应用程序所在的文件夹。 你会看到.vs文件夹。
  4. 打开.vs文件夹,你会看到一个config文件夹。 删除其内容。
  5. 以pipe理员模式运行Visual Studio。 从File菜单中打开您的解决scheme。
  6. 清理你的解决scheme
  7. build立它。
  8. 运行它,瞧!

我不build议删除IIS Express文件夹或搞乱configuration文件。

我有同样的问题,但有不同的原因可以帮助别人。

在pipe理员模式下使用命令提示符: – TYPE:netsh http show iplisten如果有任何IP条目: – TYPE:netsh http delete iplisten重复,直到列表为空。 检查IIS Express现在是否启动。

希望这有助于尼尔斯

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

尝试这个:

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

对我来说,它是我的项目解决scheme文件夹中的.vs文件夹中的applicationhost.config文件( .vs文件夹是默认隐藏的)。所以,我closures了项目并删除了.vs文件夹(vs会在你打开项目),然后重新打开项目并运行它。

我使用以下步骤修复了它:

  • closuresVisual Studio
  • 运行netsh http show urlacl ,看看你的应用程序的http地址/端口是否列出。
  • 运行netsh http delete urlacl url=[ADDRESS]一个命令显示的保留URLreplace[ADDRESS] 。 例如http://+:17560/
  • 再次运行VS(作为pipe理员),然后转到Web项目的属性 – > Web然后点击创build虚拟目录button。
  • 现在你应该可以运行Web项目了。

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

  1. 从“MyDocuments”中删除iisexpress文件夹

  2. 转到解决scheme资源pipe理器 – >右键单击项目 – >转到属性 – >转到Web选项卡 – >查看服务器 – >单击单选button“USe Visual Studio Developtment Server”

我希望这能帮到您。

我花了1小时尝试上面提到的每一个配方。 然后从没有重新启动我的电脑,并再次尝试。 现在一切都好了。

所以请尝试所有上述解决scheme之前尝试重新启动您的计算机。 这可能有帮助

我遇到了与Visual Studio 2012相同的问题。我设法通过从C:\ Program Files(x86)\ IIS Express \ AppServer \ applicationhost.configpath中删除不需要的站点条目来解决此问题。 随着pipe理员运行我的VS2012。 希望这可以帮助

在开始时,尝试禁用您的防火墙。 它帮助了我。 Eset Smart Security 5将其屏蔽。

前几天我有这个问题,以上所有项目都不能帮助我。 我在我的SONY VAIO笔记本电脑上安装了ESET Smart Security 5.0,该笔记本电脑以交互模式工作! 最后我发现这个问题, ESET阻塞了VS2012! 过去,ESET曾经要求我允许VS2012与微软进行沟通,我select了“拒绝访问”(Deny Access),而ESET曾否认VS2012的规则。 我从“ESET规则区域”中省略了这个规则,我的问题解决了!

删除我的文档文件夹中的IISExpress文件夹,以确保默认设置或恢复到以前的版本,当它工作正常。

<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

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

在debugging>网站属性。

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

在这里输入图像说明

以pipe理员身份打开命令提示符然后执行此命令

 netsh http show urlacl 

你会看到你已经添加的url现在你应该执行这个命令:

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

使用时请检查列表中的url:

(netsh http显示urlacl)

我面对这个问题,我所做的只是去Web项目属性 – > Web – >在ProjectUrl我点击“创build虚拟目录”,我的问题已修复。