Visual Studio 2017“无法连接到Web服务器'IIS Express'”

53

如果我尝试启动我的.NET Core应用程序,我会收到这个消息。我意识到有许多帖子声称可以解决此问题,但我已经尝试了他们建议的每种方法,都没有起作用。

如果我进入项目属性下的调试并更改端口,那么它将连接1次。然后,如果我再次尝试连接,它将再次给我相同的错误。然后我可以切换回原始端口,它将加载一次,然后在此之后任何时候都会失败,直到我再次切换。有人有任何想法或修复措施可以分享吗?

谢谢!


一位朋友建议不要使用IISexpress,这样可以避免这个问题。 - DevDevDev
2
重启VS 2017并删除根文件夹中的隐藏文件夹.vs,这对我解决了问题。 - hatsrumandcode
人们通常不知道设置是什么,因此他们没有简单的方法来确定出了什么问题。尝试使用Jexus Manager查看出了什么问题,然后解决方案就会变得清晰明了。https://www.jexusmanager.com/en/latest/tutorials/vs-diagnostics.html - Lex Li
这个回答解决了你的问题吗?无法启动IIS Express Web服务器 - Michael Freidgeim
33个回答

78

我曾遇到过这个问题。项目目录中有一个名为“.vs”的隐藏文件夹。关闭Visual Studio后,删除该文件夹即可解决问题。


2
也适用于我!!谢谢 - esmehsnj
是的,这个方法对我也有效。如果人们遇到这样的问题,应该首先尝试这个解决方案。 - Abhishek Tewari
唯一有用的解决方案,而且我尝试了很多。 - tube-builder
真是惊人,仅仅删除那个文件夹就能解决这样的问题。确认在 Windows 10 上的 VS2019 中这种方法对我起了作用。 - Jamie Burns

53

今天我安装了core 2.0并更新了VS 2017到15.4.3, 结果出现了同样的错误。

我最终将应用程序更改为在不同的端口上运行,这对我有用。

我已尝试删除vs文件夹,但没有起作用。

希望对你有所帮助。


2
项目设置中更改端口后,一切正常。有什么需要我做的吗? - GCoe
有时候你需要直接在applicationhost.config文件中更改端口。 - Afshin Teymoori
我不敢相信那个起作用了,但我不会抱怨。 - Eric Milliot-Martinez
1
我在将解决方案从一台机器复制到另一台机器时遇到了问题。我删除了“vs”文件夹,这对我有用。 - Ein2012
是的,对我有效,在更改端口后。谢谢。 - Cegone
显示剩余2条评论

24
我知道这个问题已经有了一个被接受的答案,但是没有任何解决方案适用于我,我的解决方案可能会帮助到某些人。我正在使用具有ASP.NET Core 2.0 Razor Pages项目的VS2017。错误似乎是毫无明显原因地开始出现的,我尝试了在这里发布的解决方案。我使用dotnet run命令从命令行运行Web应用程序,以查看是否会出现任何有意义的错误,并且有一个关于URL未正确绑定的警告。我查看了我的项目的Properties\launchSettings.json文件,并注意到applicationUrl属性不同。

enter image description here

  1. 更改applicationURL的值,使它们相同。
  2. 关闭项目和VS。
  3. 删除隐藏的.vs文件夹(如接受的答案中所述)。
  4. 以管理员身份启动VS。

你的应用程序应该可以正常工作。


2
不知道为什么,但是当我将iisSettings > iisExpress > applicationUrl设置为端口5000(“http:// localhost:5000”)时,它开始工作了。无论如何,感谢您的提示! :) - Wowe
你可能因为端口被保留,可能作为URL ACL而被拒绝访问:https://dev59.com/F1YN5IYBdhLWcg3wq5wo#61990108 - N-ate
对我来说,一切都始于我在没有调试选项(Ctrl + F5)的情况下运行应用程序。 - Yaduraj

9

我在使用来自主分支的干净代码时,遇到了Visual Studio 2019的问题。重新启动电脑可以解决该问题。

我的同事说他每个月会遇到这个问题大约2次,而其他尝试解决方法都没有奏效。


4
我尝试了其他一些建议,但都没有成功。然后我突然收到一个错误消息(我想是在执行“清理”之后),声称某个文件被锁定(被另一个进程使用)。我重新启动了电脑,然后它又可以用了。 - Björn

4
在我的情况中,问题是由于HTTP和HTTPS使用相同的端口导致的:

enter image description here

这两个端口必须不同:

enter image description here


谢谢。这解决了我遇到的问题。 - cafecoder905

4

可能是因为在任务管理器中有iisexpress.exe进程挂在同一个端口上。

我刚刚找到了几个,并杀掉它们解决了这个问题,而无需删除任何.vs文件夹或更改端口。


4

我放弃了,在播放/运行下拉框中选择“IIS Express”之外的自主托管方式来运行项目。

输入图像描述


3

对我有效的方法很简单:

  1. 右键点击项目
  2. 属性
  3. 调试
  4. 应用程序URL: 将端口更改为5000

完成,希望能帮助到其他人。


3
在使用Visual Studio 2017中有多个使用ASP.NET Core的项目的解决方案中,如果您尝试使用相同的端口号,则会出现此错误。您必须在解决方案中分配唯一的端口号。
在您的项目中转到这里:属性/launchSettings.json打开此文件并编辑此处的端口号。注意:这是您更改SSL端口的位置(两个位置)。
原因:VS/IIS Express维护着与使用IIS Express作为服务器的解决方案中的所有ASP.NET Core项目的绑定。例如,如果您使用Kestrel或其他服务器,则不会出现此问题。当在解决方案中创建应用程序时,VS会为每个应用程序创建一个新的端口,以确保您不会遇到端口冲突。
如果您正在尝试使用Azure AD注册的应用程序回复端口并尝试“重用”您的应用程序注册,则可能会考虑简单地更改“应用程序”的端口,以便您不必在Azure中注册它;但这不起作用。如果您只是测试应用程序并想要重用注册,则必须确保您当前正在工作的应用程序是该端口上唯一的应用程序-手动操作。如果您需要测试两个或更多应用程序,则必须像在生产环境中一样在Azure AD中单独注册它们。

2
在我的应用程序URL中将https更改为http解决了这个问题。

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