Win11配置VS使用本地IIS调试ASP MVC报站点找不到错误
ASP MVC IIS调试「站点找不到」问题排查方案
按以下顺序逐一排查,绝大多数同类配置问题都能定位解决:
- 校验Visual Studio项目Web配置准确性
- 右键MVC项目进入「属性」-
Web选项卡,确认服务器项选中本地IIS,而非IIS Express - 项目URL必须和IIS中实际部署的地址完全匹配,调试
MobileServiceForms子应用时需填写完整路径http://localhost/MobileServiceForms/,注意不要漏写子路径、不要多打/错写层级 - 填写地址后不要仅点击「创建虚拟目录」,先点旁边的「虚拟目录测试」按钮,若此处直接报错,说明VS与IIS的映射关系未正确建立
- 右键MVC项目进入「属性」-
- 校验IIS站点与应用程序池配置
- 打开IIS管理器,展开默认站点找到
MobileServiceForms应用节点,进入「高级设置」- 确认物理路径指向项目Web根目录(即包含
Web.config、bin文件夹的层级,不要指向项目总根目录或Views、Content等子文件夹) - 确认绑定的应用程序池使用
.NET CLR v4.0.30319版本,托管管道模式为「集成」
- 确认物理路径指向项目Web根目录(即包含
- 进入对应应用程序池的「高级设置」
- 调试阶段可先将池标识设为
LocalSystem,排除权限配置遗漏问题,调试正常后再按需调整权限 - 根据项目编译目标平台匹配「启用32位应用程序」配置:x86项目设为
True,x64/Any CPU项目设为False
- 调试阶段可先将池标识设为
- 点击IIS根节点(本地计算机名),打开「ISAPI和CGI限制」,确认对应版本的ASP.NET v4.0.30319为允许状态
- 打开IIS管理器,展开默认站点找到
- 校验系统组件与端口绑定
- 打开「启用或关闭Windows功能」,进入「Internet Information Services」-「万维网服务」-「应用程序开发功能」,确认
ASP.NET 4.8已勾选安装,漏装该组件会导致MVC路由无法解析,直接返回站点不存在错误 - 以管理员身份打开记事本,编辑
C:\Windows\System32\drivers\etc\hosts文件,确认存在127.0.0.1 localhost映射,无异常注释或篡改 - 执行命令
netstat -ano | findstr :80,确认80端口占用进程为IIS的w3wp.exe,若被其他程序(Docker、第三方Web服务、即时通讯软件)占用,先关闭对应程序释放端口
- 打开「启用或关闭Windows功能」,进入「Internet Information Services」-「万维网服务」-「应用程序开发功能」,确认
- 清理缓存与配置校验
- 关闭所有Visual Studio窗口,删除项目根目录下的隐藏
.vs文件夹,该文件夹存储的旧虚拟目录缓存经常导致映射异常 - 手动在浏览器访问
http://localhost/MobileServiceForms/,确认站点可正常打开无IIS错误页后,再以管理员身份启动VS打开项目调试
- 关闭所有Visual Studio窗口,删除项目根目录下的隐藏
- 校验Web.config配置
- 打开项目根目录
Web.config,确认<system.webServer>节点下存在配置<modules runAllManagedModulesForAllRequests="true" />,老版本ASP MVC需要该配置支持路由解析,否则会出现路径匹配失败报站点不存在 - 检查节点下是否存在错误的URL重写规则,将请求转发到了不存在的地址
- 打开项目根目录
内容的提问来源于stack exchange,提问作者ErocM
相关产品推荐
相关产品推荐

