无法连接到网络服务器 IIS Express

时间:2021-04-14 13:22:05

标签: visual-studio iis-express

我正在处理项目,我需要访问调试选项。 我尝试像往常一样运行我的应用程序,但这次我收到以下消息:

<块引用>

无法连接到网络服务器“IIS Express”

当我检查控制台输出时,我发现有以下注释:

<块引用>

无法为站点 xxx 应用程序“/”注册 URL“http://localhost:49748/”。错误描述:进程无法访问该文件,因为它正被另一个进程使用。 (0x80070020)

<块引用>

为站点xxx应用程序“/”成功注册URL“https://localhost:44333/”

我还发现 0x80070020 错误 - “在 IIS Express(或 IIS)的情况下,意味着它试图侦听的端口正被另一个进程使用”({{3 }}).

我无法理解这里发生了什么。当我尝试运行此应用程序时,我在 Visual Studio 中收到此错误,但应用程序在后台启动(我可以手动导航到 https://localhost:44333 并且应用程序在那里)。问题是我无法调试代码,因为 Visual Studio 看起来与此实例“无关”。以前 IIS Express 使用应用程序的 URL 打开新的浏览器窗口,我能够调试我的代码。

我也不明白为什么这个问题没有出现在全新的项目中 - 我已经创建了新的 Web 应用程序项目来测试这种行为,并且它符合我的预期 - 我可以在 VS 中使用调试。

到目前为止我尝试做的是:

  1. 重启VS,
  2. 重启我的本地机器,
  3. 在解决方案资源管理器/属性/调试中更改应用网址,
  4. 从 .vs 目录中删除 applicationhost.config

对我来说没有任何作用。

在这个问题出现之前,我分叉了这个 repo:link to the similar question 并下载了 WSL 和 Docker - 我怀疑这对我的解决方案有影响,但也许这些信息会有所帮助。

有什么我可以更改/编辑以恢复到我以前的行为的吗?

谢谢

1 个答案:

答案 0 :(得分:0)

我在升级到 Windows 10 20H2 后遇到了这个问题。我在 SO 上找到了许多对我不起作用的答案,但我发现 this 博客帮助我解决了问题。尝试在命令行上运行 netsh interface ipv4 show excludedportrange protocol=tcp 并检查以确保您使用的端口不是列出的排除端口之一。如果是这样,请将其更改为未排除的一项。我这样做了,一切又正常了。