尝试从Visual Studio启动IIS Express时,我收到此错误,该项目配置为侦听localhost以外的地址。在给出错误“无法启动IIS Express Web服务器”之前,Visual Studio会冻结约30秒。
我已经尝试过针对类似问题发布的所有解决方案,我认为我已经做好了所有事情。以下是我采取的步骤:
将以下预留添加到HTTP.SYS:
netsh http add urlacl url=http://+:36899/ user=Everyone
以管理员身份运行Visual Studio 2012(从技术上讲,我认为自从我手动设置HTTP.SYS后我甚至不应该这样做。)
禁用Windows防火墙。
删除我的“我的文档”文件夹中的IISExpress文件夹以确保默认设置。
允许Visual Studio在我的Web项目的applicationhost.config中创建条目。然后手动编辑配置文件,将localhost
更改为192.168.0.100
,这是我的本地IP。然后返回到Visual Studio中的项目属性并将localhost更改为IP并保存项目,以便我的项目现在设置为http://192.168.0.100:36899
。
我也尝试更改端口并重复上述步骤,因为某些原因导致端口正在使用。
我希望通过Internet上的IP访问我的IIS Express开发人员实例,以进行远程测试。
答案 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正确提供外部请求非常重要的怪癖。
如果您以管理员身份运行Visual Studio / IIS Express,则不得使用“netsh http add urlacl ...”命令向HTTP.SYS添加预留。这样做会导致HTTP 503 Service Unavailable错误。删除您在URLACL中所做的任何预订以解决此问题。
如果您不以管理员身份运行Visual Studio / IIS Express,则必须向URLACL添加预留。
答案 2 :(得分:29)
我有完全相同的问题。尝试了一切,但最终有一个技巧奏效了。
答案 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)
试试这个:
答案 7 :(得分:4)
对我而言,我的项目解决方案文件夹中的applicationhost.config
文件夹中的.vs
文件(默认情况下隐藏了.vs
文件夹)。所以,我关闭了项目并删除了{{ 1}}文件夹(vs将在您打开项目时再次重新创建它)然后重新打开项目并运行它。
答案 8 :(得分:3)
只需以以管理员身份运行
启动Visual Studio谢谢,
答案 9 :(得分:2)
在我的情况下,我试图解决这个问题。
从&#34; MyDocuments&#34;
转到解决方案资源管理器 - &gt;右键单击项目 - &gt;转到属性 - &gt;转到网络标签 - &gt;请参阅服务器 - &gt;单击单选按钮&#34;使用Visual Studio Developtment Server&#34;
我希望这会对你有所帮助。
答案 10 :(得分:2)
我通过以下步骤修复它:
netsh http show urlacl
,查看您的应用程序http地址/端口是否已列出。netsh http delete urlacl url=[ADDRESS]
替换[ADDRESS]
。例如http://+:17560/
答案 11 :(得分:1)
我花了1个小时尝试上面提到的每个食谱。然后我没有在哪里重新启动计算机,并再次尝试。一切都很好。
因此,在尝试上述所有解决方案之前,请尝试重新启动计算机。这可能会有所帮助
答案 12 :(得分:0)
我的计算机有大量的Windows更新时遇到了同样的问题。
花了几个小时尝试使用上述答案解决问题而没有运气。
过去我们因防病毒导致应用程序被其阻止而导致不同的问题,因此请尝试禁用。
答案 13 :(得分:0)
我面对这个问题,我所做的只是去网页项目属性 - &gt;网络 - &gt;在ProjectUrl中,我点击了&#34;创建虚拟目录&#34;我的问题已得到修复。
答案 14 :(得分:0)
因此,在尝试了所有解决方案之后,我只是从PC上卸载了“一个驱动器”,问题就解决了。
N.B:
答案 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)
答案 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。希望这有帮助