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

创建.Net Core 3.1 MVC项目后页面无法加载,提示localhost找不到如何解决?

.NET Core MVC 3.1 本地访问404问题排查方案

1. 启动配置与端口校验

  • 检查项目Properties目录下的launchSettings.json文件,确认iisSettings节点的applicationUrl、以及profiles下你使用的启动项(IIS Express/自托管)对应的applicationUrl,和浏览器访问的地址端口完全一致
  • 若使用IIS Express启动,可查看VS右下角IIS Express托盘图标内的站点端口信息,若出现端口被占用的情况,启动时会自动切换端口,会导致你输入的原地址404

2. 中间件顺序与路由配置校验

打开Startup.cs的Configure方法,确认中间件配置顺序符合规范,错误的顺序会直接导致路由匹配失效,正确配置参考如下:

public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
    if (env.IsDevelopment())
    {
        app.UseDeveloperExceptionPage();
    }
    else
    {
        app.UseExceptionHandler("/Home/Error");
        app.UseHsts();
    }

    app.UseHttpsRedirection();
    app.UseStaticFiles();
    app.UseRouting();
    app.UseAuthorization();

    app.UseEndpoints(endpoints =>
    {
        // 必须配置默认路由,否则无特性路由的Controller无法命中
        endpoints.MapControllerRoute(
            name: "default",
            pattern: "{controller=Home}/{action=Index}/{id?}");
    });
}
  • 重点检查:UseStaticFiles必须放在UseRouting之前,UseEndpoints必须放在UseRouting之后,默认路由规则不能遗漏

3. 控制器与视图资源校验

  • 控制器类必须继承自Controller基类,且类名以Controller为后缀,例如默认首页对应的是HomeController.cs
  • 对应Action方法不能标记[NonAction]特性,若没有特殊配置,不要给默认访问的Action加[HttpPost]等限制请求方法的特性,否则GET请求访问会直接返回404
  • 视图文件路径必须符合约定:Views/[控制器名去掉Controller后缀]/[Action名].cshtml,比如HomeController的Index方法对应视图路径为Views/Home/Index.cshtml,同时确认视图文件属性中的「复制到输出目录」设置为「如果较新则复制」

4. 特性路由冲突校验

  • 若你在控制器或Action上添加了[Route]特性,会覆盖默认全局路由规则,比如控制器上标记了[Route("Test/[controller]")],则原默认路径/Home/Index会失效,必须访问/Test/Home/Index才能命中
  • 避免多个特性路由使用重复模板,会导致路由匹配冲突

5. 运行日志校验

  • 先清理解决方案并重新生成,确认无编译错误、所有NuGet包都已正常还原
  • 启动项目后,查看VS「输出」窗口,输出源选择「ASP.NET Core Web 服务器」,排查是否有启动报错,例如端口占用、配置文件读取失败、依赖缺失等问题,部分启动失败场景下浏览器也会返回404报错

内容的提问来源于stack exchange,提问作者Argen Tina

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 08:15:00