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

223

我的一些Web项目运行正常,但有些却有问题。我决定专注于其中一个有问题的项目。 我使用Windows 7上的Visual Studio 2013。我认为我是以管理员身份运行的,窗口标题显示为项目名称 - Microsoft Visual Studio(管理员)

当我尝试运行该项目时,会弹出一个窗口,显示:

  

无法启动IIS Express Web服务器。

     

无法为网站“SITE NAME”应用程序“/”注册URL“http://localhost:62940/”。 错误描述:拒绝访问。 (0x80070005)。

这似乎并不完全罕见但我尝试了很多建议都没有成功:

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

  2. netsh http add urlacl url=http://localhost:62940/ user=everyone,重启并尝试运行。(实际上是user=Alla,因为我的Windows是瑞典语)。

  3. netsh http delete urlacl url=http://localhost:62940/,重启并在%userprofile%\Documents\IISExpress\config\applicationhost.config中将<绑定协议="http" bindingInformation="*:62940:localhost/">更改为<binding protocol="http" bindingInformation="*:62940:/>,然后尝试运行。(这确实改变了错误消息,使其说... URL "http://*:62940/" ...)。

  4. 重新安装IIS 8.0 Express

  5. 重新安装Visual Studio 2013

我束手无策了,我做错了什么?

如果我更改项目的端口(例如改为55555),它就会启动... 这不是一个理想的解决方案,因为这些项目由多个人开发。也许端口被其他东西阻塞了?如果是这样,有没有一种简单的方法来检查它?

端口62940似乎是空闲的。运行netstat不显示任何监听它的应用程序。一定还有其他问题。

我试图在几个月没有接触过它之后今天启动该项目。它能够工作但我不知道为什么。


2
运行 netstat -aon | findstr 命令,查看是否有其他应用程序也在监视端口62940。如果是这样,您不能监视该端口,但必须切换到另一个端口。当明显不是原因时,请勿更改 applicationHost.config 或 netsh http - Lex Li
我按照建议运行了 netstat。似乎没有应用程序监视端口62940。肯定还有其他问题。 - Linus
3
重启对我有用。 - Patrick Borkowicz
重启VS解决了我的问题。 - gajama
43个回答

2
对我来说,解决这个问题的方法是断开VPN连接(我们使用FortiClient)。

1

对我而言,这个问题完全与安装不正确的Oracle ODP工具有关。我进行了卸载和重新安装操作,然后一切都正常了。


1

1
在VS2017中,我不得不编辑我的.sln文件并更新VWDPort =“5010”设置。这里发布的其他解决方案都无效。

1
Looks like everybody has their own problems. Here is what I did to fix a problem in VS2015 (Windows 8.1) related to programming. My solution includes six websites (not web apps).
To fix the issue, follow these steps:
1. Open your solution file *.sln. 2. Change the string VWDPort = "34781" in your solution file using Notepad. Make sure it is unique in your solution if you have more than one website. I added +2 to make it unique.
Here is an example of the solution file's 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文件操作才解决了我的问题。

1

以上方法都没有帮助到我,但是这里的解决方案https://forums.asp.net/t/1979442.aspx?Cannot+change+the+project+URL+in+project+properties有效。

一旦在记事本中打开了解决方案文件后,我查找并替换了导致问题的端口号,保存并重新在Visual Studio中打开解决方案。第一次我选择的端口号只比导致问题的端口号多1个,但仍然遇到了相同的错误。当我更改到一个与原来相差约10,000的端口号时,它就起作用了。我不确定这是否有影响。


1
欢迎提供解决方案的链接,但请确保您的答案即使没有链接也是有用的:在链接周围添加上下文,以便其他用户知道它是什么以及为什么存在,然后引用您链接的页面中最相关的部分,以防目标页面不可用。仅仅是一个链接的答案可能会被删除。 - LW001

1
这是针对Visual Studio 2019的。在尝试了很多建议后都没有解决问题(包括更改端口号等),我通过删除一个在项目根文件夹中生成的名为“debug”的文件来解决了我的问题。一旦删除了这个文件,一切都开始正常工作了。

1

我偶尔也遇到了与VS2019相同的问题。

一般问题是端口已被占用或不可用,这可能有很多原因,导致这里有很多不同的答案。

我想补充一下帮助我的内容:问题只是暂时的,我尝试了再次运行不改变任何内容,它就起作用了。所以我建议首先测试这个,因为这是最容易做的事情。


1
各位,我阅读了所有评论,范围涵盖了2个页面的浏览量,但仍然没有帮助到我的情况。虽然有些评论在某种程度上有所帮助。最终,这是解决我的问题的方法,我认为对其他人也可能适用。

我在笔记本电脑上安装了Docker Desktop,并在其中运行一些内容。然后,我打开了VS,并想要调试我的特定应用程序。尽管使用VS 2019和Web API配置为使用Https端口,但Http端口导致了此问题。在尝试了所有答案中提到的步骤之后,我按照自己的直觉进行了以下操作:

  1. 停止并杀死我的Docker Desktop应用程序。
  2. 然后停止正在运行的IIS Express。
  3. 只需简单地按下F5(进行调试),就完成了!

因此,出现此问题的原因有多种,这取决于个人计算机状态和其拥有的应用程序。

我尝试删除了.vs文件夹,在用户个人资料文档文件夹中删除了IISExpress文件夹,但我想如果我的VS没有使用它们,我的Docker应用程序可能会接管剩余的IP地址。

因此,请检查可能占用一些IP范围的其他应用程序,并尝试将它们关闭。在我的情况下,我在运行VS后重新启动了Docker,到目前为止一切都如预期!


1
在我的情况下,我勾选了覆盖应用程序根URL设置,在属性->Web标签中。之前当我以管理员身份运行VS时使用过它,但现在我以非管理员账户运行它会导致错误。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接