ASP.NET Web Forms出现The resource cannot be found问题求助
问题详情
创建的ASP.NET WebForms应用程序最初运行正常,后续在Visual Studio中启动时出现404错误,提示找不到/Login.aspx。此前关闭杀毒软件可解决问题,但当前该方法已失效。完整错误信息如下:
服务器在'/'应用程序中出错。
资源无法找到。
描述:HTTP 404。您正在查找的资源(或其依赖项之一)可能已被移除、名称已更改或暂时不可用。请检查以下URL并确保拼写正确。
请求的URL:/Login.aspx
版本信息:Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.8.4494.0
排查与解决步骤
确认文件存在性与路径
检查项目根目录下是否存在Login.aspx文件,注意文件名大小写(Windows环境通常不敏感,但IIS Express可能因配置区分)。若文件在子目录中,需确保请求URL对应正确路径,例如/Account/Login.aspx。检查项目启动设置
右键项目 → 属性 → 网页 → 确认“启动操作”是否设置为Login.aspx,而非空URL或其他不存在的页面。清理重建项目
- 点击菜单 → 项目 → 清理解决方案
- 删除项目目录下的
bin和obj文件夹 - 点击菜单 → 生成 → 重建解决方案
- 重启Visual Studio后重新运行项目
重置IIS Express配置
- 关闭当前运行的IIS Express实例
- 删除项目目录下的
.vs隐藏文件夹(需先开启显示隐藏文件) - 重新打开项目并运行,让Visual Studio重新生成IIS Express配置
排查Web.config路由/重写规则
检查Web.config中是否存在自定义路由或URL重写规则,这类规则可能拦截或重定向Login.aspx的请求。可暂时注释相关规则后测试。重新注册ASP.NET 4.8
以管理员身份打开命令提示符,执行以下命令:%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_regiis.exe -i验证文件权限
确认项目目录及Login.aspx文件对Visual Studio运行账户(当前登录用户)有读写权限,权限不足可能导致文件无法被读取。
内容的提问来源于stack exchange,提问作者M Akmal

