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

升级.NET 7.0后已删除的About.cshtml仍引发编译错误求助

问题原因及解决方案

可能的触发原因

  • Razor编译缓存残留:.NET 7会将.cshtml文件编译为对应的C#类,即使删除源文件,obj、bin目录(尤其是obj\Debug\net7.0\Razor路径)或系统临时缓存中的旧编译文件仍可能保留对该类的引用,导致编译报错。
  • 项目隐式引用残留:项目文件可能通过通配符(如<Content Include="**/*.cshtml" />)包含视图文件,移动/删除操作后,obj目录下自动生成的project.assets.json可能仍保留旧文件的引用记录。
  • 间接代码引用:项目中其他文件(控制器、布局页、视图组件)可能存在对About页面的引用,比如return View("About")、@page "/About"或直接引用编译后的AboutModel类型,这类引用不会关联到源.cshtml文件,所以搜索源文件无法发现。
  • 解决方案缓存残留:解决方案根目录的.vs隐藏文件夹保存着配置缓存,其中可能留存旧文件的引用信息,影响编译过程。

解决步骤

  • 直接删除项目目录下的obj和bin文件夹,再重新生成项目。
  • 删除解决方案根目录的.vs隐藏文件夹(需显示隐藏文件)。
  • 打开项目文件(.csproj),检查是否存在关于About.cshtml的残留引用,包括通配符包含规则,如有则手动清理。
  • 全局搜索整个解决方案的代码,查找是否存在About相关的路由、视图引用或类型调用,逐一修正或删除。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 04:25:31