.NET 7中ASP.NET Core MVC项目Index视图找不到的技术求助
解决.NET 7 ASP.NET Core MVC中"Index视图未找到"的问题
- 检查视图文件的属性设置:确保
Views/[Controller]/Index.cshtml的「复制到输出目录」设置为「如果较新则复制」或「始终复制」——不少情况是文件没被正确同步到输出目录导致找不到。 - 验证视图引擎配置:打开
Program.cs,确认默认的builder.Services.AddControllersWithViews();没被错误修改。如果自定义了ViewLocationFormats,要保证包含标准路径,示例:services.AddControllersWithViews(options => { options.ViewLocationFormats.Add("/Views/{1}/{0}.cshtml"); }); - 排查控制器返回逻辑:确认控制器的Index方法是
return View();,没有误传错误的视图名称参数,比如return View("WrongName");这种失误。 - 清理重建项目:执行命令
dotnet clean再dotnet build,旧项目迁移到.NET7时,bin/obj目录的缓存文件很可能引发这类异常,清理后重建能解决大部分缓存问题。 - 确认项目SDK版本:打开
.csproj文件,检查TargetFramework是否为net7.0,避免误改为其他版本,正确配置示例:<PropertyGroup> <TargetFramework>net7.0</TargetFramework> <Nullable>enable</Nullable> <ImplicitUsings>enable</ImplicitUsings> </PropertyGroup> - 检查区域(Area)配置:如果项目用了区域,控制器必须添加
[Area("AreaName")]特性,视图要放在Areas/AreaName/Views/[Controller]/路径下,同时路由配置要包含区域参数。
内容的提问来源于stack exchange,提问作者Samuel Sanchez
相关产品推荐
相关产品推荐

