.NET 6 MVC视图访问404 需手动修改.cshtml生成操作
.NET 6 MVC 新建.cshtml视图默认生成操作异常导致404问题说明
该现象不属于正常情况。正常状态下Visual Studio会自动将.NET 6 MVC项目中新建的.cshtml Razor视图的生成操作识别为Content,无需手动修改即可正常访问。
你在.csproj中查到的三条针对异常视图的配置是404问题的直接原因:
<Content Remove="Views\Home\Test2.cshtml" /> <Watch Remove="Views\Home\Test2.cshtml" /> <None Include="Views\Home\Test2.cshtml" />
上述配置会主动将对应视图从项目内容文件列表中移除,将其归类为不参与生成输出、发布的无操作文件,运行时程序找不到对应视图文件自然会返回404。
排查与修复方案
- 检查.csproj中的通配符规则:不要只排查单文件配置,重点查找是否存在带通配符的全局移除/归类规则,例如
<Content Remove="**/*.cshtml" />这类全量匹配规则,这类规则不会直接显示为单文件配置,但会在新建.cshtml文件时自动追加那三条异常配置,找到后直接删除即可。 - 校验项目模板来源:如果项目是基于第三方自定义模板创建的,优先对比官方原生.NET 6 MVC模板的.csproj配置,删除模板自带的错误文件识别规则。
- 修复VS组件异常:如果用官方原生模板新建的项目也出现同类问题,打开Visual Studio Installer,执行VS修复操作,确认「ASP.NET和Web开发」工作负载下的Razor、ASP.NET Core相关组件已完整安装。
- 全局规则兜底修复:可以直接在.csproj中追加强制规则,将所有Views目录下的cshtml文件统一标记为Content类型,覆盖错误的默认配置,添加后重载项目即可生效:
<ItemGroup> <Content Include="Views\**\*.cshtml" /> </ItemGroup>
问题相关配置截图

内容的提问来源于stack exchange,提问作者NickG
相关产品推荐
相关产品推荐

