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

ASP.NET Core .NET 5中cshtml文件提示model不存在于当前上下文如何解决

ASP.NET Core .NET 5 Razor语法识别失效解决方案

以下是逐一排查修复的步骤:

  • 检查Views根目录的_ViewImports.cshtml配置
    该文件必须放置在Views文件夹根路径,需包含对应命名空间导入和TagHelper配置,示例配置如下:
    @using Bookstore
    @using Bookstore.Models
    @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
    
    该文件负责全局Razor配置,缺失或配置错误会直接导致@model、@using等指令全部失效。
  • 验证项目SDK类型
    右键项目选择「编辑项目文件」,确认文件首行的Sdk属性为Microsoft.NET.Sdk.Web,如果误用了控制台项目的Microsoft.NET.Sdk,Razor相关编译组件不会加载,无法识别Razor语法。
  • 确认异常cshtml文件属性
    右键报错的.cshtml文件选择「属性」,确认「生成操作」设置为内容,「复制到输出目录」设置为如果较新则复制,属性配置错误会导致VS不将其识别为Razor视图文件。
  • 清除缓存重建项目
    关闭VS,删除项目根目录下的.vs、bin、obj三个文件夹,重新打开VS生成项目,绝大多数缓存导致的智能提示异常、语法识别错误都可以通过该操作修复。
  • 检查Model类访问级别
    确认Bookstore.Models.Author类的修饰符为public,非公开类无法被Razor视图访问,也会触发当前上下文找不到model的报错。

注:你提供的视图代码本身语法没有问题,DisplayNameFor中lambda的参数名model为局部变量,命名合法,问题均由项目配置异常导致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 22:24:03