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

ASP.NET 5.0 MVC 修改启动默认控制器时View找不到报错如何解决

解决方案

按以下步骤逐一排查即可解决问题:

  • 检查视图路径拼写与大小写
    确认Views目录下的文件夹名称完全匹配控制器前缀UsernameEntry,文件夹内的视图文件名称完全为UserIndex.cshtml,注意开启文件资源管理器的扩展名显示,避免出现UserIndex.cshtml.txt这类隐藏后缀的错误命名。
  • 修正视图文件的生成配置
    右键UserIndex.cshtml选择「属性」,将生成操作改回默认值Content,复制到输出目录设置为「如果较新则复制」。你之前将其设置为Embedded resource需要额外配置嵌入式视图服务才能生效,未配置的情况下会导致视图查找失败。
  • 开启Razor运行时编译(开发环境推荐)
    安装NuGet包Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation后,在Startup.cs的ConfigureServices方法中修改服务注册逻辑:
    services.AddControllersWithViews()
            .AddRazorRuntimeCompilation();
    
    该配置可以让新增的Razor视图被实时识别,无需每次修改后重建项目。
  • 临时指定视图全路径验证
    可以先在控制器方法中硬编码视图路径确认文件本身可被访问:
    public ActionResult UserIndex()
    {
        return View("~/Views/UsernameEntry/UserIndex.cshtml");
    }
    
    如果该方式可以正常加载视图,说明路由配置本身无问题,问题出在视图查找匹配逻辑,回到前两步检查即可。
  • 清理项目缓存
    右键解决方案选择「清理」,手动删除项目根目录下的bin、obj文件夹后重新生成项目,排除Visual Studio缓存导致的识别异常。

你修改的默认路由配置本身没有问题,完成上述排查后即可正常加载新的默认控制器与视图。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 10:45:02