You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Visual Studio调试ASP.NET时IIS Express提示所有端口被占用

IIS Express 全端口提示占用问题排查

IIS Express 端口占用报错截图

  • 90%以上换多少端口都报占用的问题,都是Windows系统TCP端口排除范围导致的:安装Hyper-V、WSL2、Docker Desktop之后,系统会自动预留大段连续TCP端口给虚拟化服务使用,只要选的调试端口落在这些预留区间内,哪怕用netstat查不到任何程序监听端口,IIS Express绑定的时候也会直接抛出端口占用错误。很多人来回换端口刚好全踩在预留段里,就会误以为所有端口都被占了。
    排查排除端口范围的方法:用管理员权限打开PowerShell或者命令提示符,执行命令:
    netsh interface ipv4 show excludedportrange protocol=tcp
    命令输出结果里每段StartPort到EndPort之间的端口,都是系统禁止普通程序绑定的端口段,选调试端口必须避开这些区间。
  • 其次是IIS Express残留进程锁死配置:之前调试崩溃、VS非正常退出的时候,iisexpress.exe进程经常会留在后台不退出,不仅占用之前的调试端口,还可能锁死网络配置导致新端口也绑定失败。直接执行命令强杀所有残留进程即可:
    taskkill /f /im iisexpress.exe
  • 本地调试配置文件损坏:每个解决方案根目录下有个默认隐藏的.vs文件夹,里面存了IIS Express的本地调试配置文件,路径为.vs\config\applicationhost.config,如果这个文件里残留了之前的错误绑定规则,也会导致端口检测逻辑异常。关闭VS之后直接把整个.vs文件夹删掉即可,下次启动VS打开项目时会自动生成全新的干净配置,不会影响项目代码。
  • 特殊场景排查:如果安装了第三方安全软件、全局VPN、抓包工具或者网络代理,这类软件有时候会Hook系统网络层,返回虚假的端口占用提示,临时退出这类工具再重试调试即可。
  • 端口选择技巧:优先选49152-65535之间的端口,这个区间是官方划定的私有动态端口段,很少被系统服务或者常用软件占用,选之前对照之前查到的排除端口列表确认不在预留段里,基本不会出现绑定失败问题。

内容的提问来源于stack exchange,提问作者Anders Lindén

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.28 13:48:13