无法启动IIS Express Web服务器,无法注册URL,访问被拒绝

一些networking项目正在导致我的问题,而其他人正常工作。 我决定把重点放在一个有问题的问题上。 我在Windows 7上使用Visual Studio 2013.我想我正在运行它作为pipe理员,窗口标题说PROJECT NAME - Microsoft Visual Studio (Administrator)

当我尝试运行该项目时,出现一个popup窗口:

 Unable to launch the IIS Express Web server. Failed to register URL "http://localhost:62940/" for site "SITE NAME" application "/". Error description: Access is denied. (0x80070005). 

这似乎并不罕见,但我已经尝试了很多的build议没有运气:

  1. 删除了%userprofile%\Documents\IISExpress\ ,试图运行。

  2. netsh http add urlacl url=http://localhost:62940/ user=everyone ,重新启动并试图运行。 (自瑞典语Windows以来其实user=Alla )。

  3. netsh http delete urlacl url=http://localhost:62940/ ,重新启动并从<binding protocol="http" bindingInformation="*:62940:localhost />更改为<binding protocol="http" bindingInformation="*:62940:/>%userprofile%\Documents\IISExpress\config\applicationhost.config并尝试运行。 (它确实改变了错误信息说... URL "http://*:62940/" ...

  4. 重新安装IIS 8.0 Express

  5. 重新安装Visual Studio 2013

我在智慧的结尾,我做错了什么?

编辑1:如果我改变项目的端口(例如到55555)它开始…这不是一个理想的解决scheme,因为这些项目是由几个人的工作。 也许港口被别的东西堵住了? 如果是这样,是否有一个简单的方法来检查什么?

编辑2:端口62940似乎是免费的。 运行netstat不会显示任何正在监听的应用程序。 还有其他的一定是错的。

编辑3:我尝试了几个月没有触摸它后,今天开始项目。 它的工作,但我不知道为什么。

我通过更改项目的端口来解决错误。

我做了以下步骤:

1 – 右键单击​​该项目。
2 – 去属性。
3 – 转到服务器选项卡。
4 – 在选项卡部分,更改其他端口的项目URL,例如8080或3000。

祝你好运!

我知道我晚了一点,但我发现如果你打开Windows任务pipe理器并杀死Microsoft.VisualStudio.Web.Host.exe*32进程,那么你可以运行良好的项目。

不知道这是否回答你的问题,但它适用于我。

更新感谢JasonCoder(参见下面的注释),在Win10上添加这个过程是Microsoft.VsHub.Server.HttpHost.exe

使用Visual Studio 2015时,解决scheme可能与以前的答案有所不同。 VS2015在解决scheme文件所在的文件夹下创build一个隐藏文件夹.vs。 在这下是一个包​​含applicationhost.config的configuration文件夹。 删除这个文件(或整个.vs文件夹),然后启动VS2015重新创build它可以解决这个错误。

尝试(如提升的pipe理员)

 netsh http delete urlacl url=http://*:62940/ 

最近也有这个错误。 尝试了所有上述修复,但没有工作。

要禁用它,请在命令提示符下键入services.msc ,然后右键单击并禁用Internet连接共享 。 我编辑了它的属性以及在启动时禁用。 我现在看起来像这样: 服务捕捉截图 。

我刚刚有一个类似的问题。 我不完全确定如何描述实际的故障,但似乎在保留的主机名是不正确的。 在提升的命令提示符下试试这个…

netsh http delete urlacl url=http://localhost:62940/

… 然后 …

netsh http add urlacl url=http://*:62940/ user=everyone

并重新启动您的网站。 它应该工作。

我最后清理了项目文件(csproj)和applicationhost.config(iis express),其中包含关于iis expressconfiguration的所有条目。 之后,它的工作。

尝试了一些build议的解决scheme没有成功后,我刚刚重新启动我的电脑。 之后,问题不再发生。

如果在安装Visual Studio 2015后出现这种情况,您可以在系统事件日志中看到错误消息,例如: Unable to bind to the underlying transport for [::]:{your_port}. . The IP Listen-Only list may contain a reference ... Unable to bind to the underlying transport for [::]:{your_port}. . The IP Listen-Only list may contain a reference ... Unable to bind to the underlying transport for [::]:{your_port}. . The IP Listen-Only list may contain a reference ...那么你可能会缺less一个registry项。

在pipe理命令提示符下运行这个命令: netsh http add iplisten ipaddress=::修复它。

我在这里find了详细描述的解决scheme

在这里列出的所有步骤都失败后,我通过以pipe理员身份运行VS2015来完成这项工作。

我遇到了这个相同的错误信息,但它看起来像是从IIS Express产生的。 这篇文章帮助我解决它

TL; DR

从pipe理命令提示符处运行以下命令:

 > netsh http add iplisten ipaddress=:: 

这发生在我在Windows 10和VS 2013上。显然有一个IIS Express处理的最大端口号。 62546以上的港口不为我工作。

当我尝试从远程位置访问我的网站时,发生了这种情况:

首先,applicationhost.config(VS2015)包含标准:

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

为了从networking中的远程位置访问我的网站,我添加了(步骤1):

 <binding protocol="http" bindingInformation="*:64376:192.168.10.132" /> 

然后,我进入具有pipe理权限的CMD(步骤2):

 netsh http add urlacl url=http://*:64376/ user=Everyone 

作为第3步,我在防火墙上添加了一条规则。

 netsh advfirewall firewall add rule name=”IISExpressWeb” dir=in protocol=tcp localport=64376 profile=private,domain remoteip=localsubnet action=allow 

然后,我尝试再次运行解决scheme时遇到此错误。

解决scheme:我似乎已经做好了所有事情,但是直到我为现有的本地主机规则运行netsh ,它才工作:

 netsh http add urlacl url=http://localhost:64376/ user=Everyone 

现在,它再次运作。

如果您只是重新启动Visual Studio,错误可以解决。 它与重新启动Microsoft.VisualStudio.Web.Host.exe * 32过程具有相同的效果。

我的问题原来是我的SSL项目设置启用。 我只是禁用了这个,因为我不需要SSL在本地运行项目。

在Visual Studio 2015中:

  • 在解决scheme资源pipe理器中select项目。
  • 在“属性”窗口中将“启用SSL”设置为False。
  • 我能够运行这个项目。

在我的情况下,我正在使用443端口的错误,因为这是在项目的SSL URL上设置的端口。

转到项目“属性”=>“networking”,在“服务器”部分将端口更改为其他未使用的端口并保存。 您将被要求创build一个虚拟目录,然后单击“是”。 现在运行该项目,现在它将工作。

在我的情况下,它起初工作,并在一段时间后停止工作,IIS Express报告说,该端口正在使用。
netstat -ab显示Chrome正在使用该端口。 我退出Chrome后,又开始工作了。
但我不确定为什么Chrome会占用这个端口。

这发生在我在Windows 7和VS 2013上,同时在浏览器上查看项目后。 我只需closures浏览器“Chrome”,然后确保该端口没有在我的networking活动中使用某些实用程序(卡巴斯基)使用,然后再次尝试,没有任何问题的工作。

我写它的信息。

删除项目中的文件。

清洁>build立>项目开始后

有时候,这个错误是我在同一台机器上运行的另一个Visual Studio版本。

看起来每个人都有自己的问题只是分享我在VS2015(Windows 8.1)中所做的解决这个问题,我的解决scheme有6个网站(不是networking应用程序)

  1. 打开你的解决scheme文件* .sln
  2. 在记事本中更改解决scheme文件stringVWDPort =“34781”(在您的解决scheme中使其唯一,如果您有更多的网站,则为+2)。

查看示例解决scheme文件ProjectSection(WebsiteProperties):

 Project("{E24C65DC-7377-472B-9ABA-BC803B73C61A}") = "BOSTONBEANCOFFEE.COM", "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM", "{5106A8F5-401B-4907-981C-F37784DC4E9D}" ProjectSection(WebsiteProperties) = preProject SccProjectName = ""$/PrismRMSystem/VS2012/WebOfficeV4.root/WebOfficeV4", IPYHAAAA" SccAuxPath = "" SccLocalPath = "..\.." SccProvider = "MSSCCI:Microsoft Visual SourceSafe" TargetFrameworkMoniker = ".NETFramework,Version%3Dv4.0" ProjectReferences = "{04e527c3-bac6-4082-9d39-aad8771b368e}|YBTools.dll;{5d52eaec-42fb-4313-83b8-69e2f55ebf14}|AuthorizeNet.dll;{d8408f53-8f1e-4a71-8b05-76023b09b716}|AuthorizeNet.Helpers.dll;{77ebd08a-de0f-4793-b436-fad6980863e6}|WEBCUSTCONTROLS.dll;" Debug.AspNetCompiler.VirtualPath = "/BOSTONBEANCOFFEE.COM" Debug.AspNetCompiler.PhysicalPath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\" Debug.AspNetCompiler.TargetPath = "PrecompiledWeb\BOSTONBEANCOFFEE.COM\" Debug.AspNetCompiler.Updateable = "true" Debug.AspNetCompiler.ForceOverwrite = "true" Debug.AspNetCompiler.KeyFile = "Key\StrongKey.snk" Debug.AspNetCompiler.DelaySign = "false" Debug.AspNetCompiler.AllowPartiallyTrustedCallers = "false" Debug.AspNetCompiler.FixedNames = "true" Debug.AspNetCompiler.Debug = "True" Release.AspNetCompiler.VirtualPath = "/BOSTONBEANCOFFEE.COM" Release.AspNetCompiler.PhysicalPath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\" Release.AspNetCompiler.TargetPath = "PrecompiledWeb\BOSTONBEANCOFFEE.COM\" Release.AspNetCompiler.Updateable = "true" Release.AspNetCompiler.ForceOverwrite = "true" Release.AspNetCompiler.KeyFile = "Key\StrongKey.snk" Release.AspNetCompiler.DelaySign = "false" Release.AspNetCompiler.AllowPartiallyTrustedCallers = "false" Release.AspNetCompiler.FixedNames = "true" Release.AspNetCompiler.Debug = "False" VWDPort = "34781" SlnRelativePath = "Source_WebOfficeV4\BOSTONBEANCOFFEE.COM\" EndProjectSection 

在我的情况下,我试图从项目属性更改URL,重新启动VS,重新启动计算机,没有什么帮助我只有这个SLN文件操作解决了我的问题。

对我来说,这个问题完全与VS的Oracle ODP工具的安装相关。 我卸载并重新安装,一切都再次工作。

在Visual Studio 2015中:

  • 在你的项目中find你的启动页面(例如:mypage.aspx),然后右键点击它。
  • 点击设为起始页面。
  • 右键点击该项目。
  • 点击属性。
  • 点击左边的Web标签。
  • 在Project URL中input不同的端口,例如: http:// localhost:1234 /
  • 在“开始操作”中,select“特定页面:mypage.aspx”或select“特定URL”: http:// localhost:1234 / mypage.aspx?myparam = xxx

而在我的情况下,事实certificate,我没有在Windowsfunction下的控制面板中启用IIS。 参考图片,因为SO不会让我上传

在VS2017。 我必须编辑我的.sln文件,并且必须更新VWDPort =“5010”设置。 这里没有其他解决scheme张贴在这里工作。

我通过杀死iexplorer和iexplorer * 32的所有实例来解决这个问题。 看起来Internet Explorer仍在内存中,即使应用程序窗口已closures,端口仍处于打开状态。