ASP.NET Core 2应用IIS Express设置App URL后端点404问题
我之前调试ASP.NET Core项目时碰到过几乎一模一样的IIS Express缓存残留问题,给你几个针对性的排查和解决方向:
清理IIS Express核心配置缓存
IIS Express会把站点配置存在用户目录中,很可能残留了之前设置的App URL路由。你可以找到路径%USERPROFILE%\Documents\IISExpress\config,先备份整个config文件夹,然后删除里面的applicationhost.config文件。重启Visual Studio后重新生成项目,IIS Express会自动生成全新的配置文件,应该能清除旧的路由绑定。彻底检查并重置launchSettings.json
有时候VS的UI设置和launchSettings.json内容可能不同步,或者文件里有隐藏的配置项。你可以:- 右键项目 → 属性 → 调试,确认「启动URL」是空的
- 点击「打开launchSettings.json」,仔细检查每个profile(尤其是
IIS Express对应的那个)里的applicationUrl和launchUrl字段,确保没有指向那个API端点的内容 - 如果还是有问题,可以直接删除launchSettings.json,然后回到项目属性的调试页面,VS会自动生成全新的默认配置文件
清理项目编译缓存
旧的bin/obj文件夹里可能残留了编译后的旧路由配置,导致IIS Express加载了过期内容。你可以:- 右键解决方案 → 清理解决方案
- 手动删除项目根目录下的
bin和obj文件夹 - 重新生成解决方案,确保编译输出是全新的
检查IIS Express站点绑定详情
打开VS的「视图 → 其他窗口 → IIS Express」,找到你的项目站点,右键查看「属性」:- 检查「绑定」里的URL是否正确
- 检查「应用程序设置」里有没有残留的旧路由相关配置,如果有直接删除
重置Visual Studio用户设置(终极方案)
如果上面所有方法都无效,可能是VS本身的用户设置缓存出了问题。你可以打开VS → 工具 → 导入和导出设置 → 重置所有设置,选择要重置的设置集合(建议选「常规开发设置」),然后重启VS。注意这个操作会重置你的VS个性化配置,比如窗口布局、快捷键等,建议先备份设置再操作。
内容的提问来源于stack exchange,提问作者Don Sartain

