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

.NET Core 6混用控制器视图与Razor Pages出现404错误求助

.NET Core 6同时使用控制器视图和Razor Pages出现404的解决办法

问题根源

你仅添加了Razor Pages的服务注册,但未在请求管道中配置对应的路由规则,同时控制器的路由也可能未正确设置,导致根路径找不到可匹配的内容。

修复步骤

  • 补全Program.cs的路由配置
    在var app = builder.Build();之后,必须同时配置控制器路由和Razor Pages路由,代码如下:

    // 配置控制器视图的默认路由
    app.MapControllerRoute(
        name: "default",
        pattern: "{controller=Home}/{action=Index}/{id?}");
    
    // 启用Razor Pages路由
    app.MapRazorPages();
    

    两个配置都不能少,顺序不影响。

  • 检查默认入口是否存在

    • 若想以Razor Pages为首页,确认项目里有Pages/Index.cshtml,且文件开头有@page指令。
    • 若想以控制器视图为首页,确认存在HomeController类,里面有Index方法,且对应Views/Home/Index.cshtml视图文件。
  • 确认NuGet包版本匹配
    确保安装的Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation包是6.x版本,和.NET Core 6兼容。可以用命令重新安装:

    dotnet add package Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation --version 6.0.26
    
  • 清理重建项目
    删除项目下的bin和obj文件夹,然后执行dotnet clean和dotnet build命令,重新生成后再运行项目。

内容的提问来源于stack exchange,提问作者C_20_10_42 jobair uddin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 21:22:35