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

.NET 6/ASP.NET Core中AddRazorRuntimeCompilation引发IWebHostEnvironment找不到错误

解决.NET 6/ASP.NET Core添加Razor运行时编译后IWebHostEnvironment找不到的问题

在.NET 6/ASP.NET Core项目中,安装Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation NuGet包,并在Program.cs中执行以下服务注册代码后:

builder.Services.AddControllersWithViews().AddRazorRuntimeCompilation();

打开视图时会触发以下错误:

The type or namespace name 'IWebHostEnvironment' could not be found (are you missing a using directive or an assembly reference?)

错误指向_Layout.cshtml中的@inject IWebHostEnvironment HostingEnv语句。

解决方案

  • 使用全限定类型名注入
    将原注入语句替换为带命名空间的全限定写法:

    @inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment HostingEnv
    

    此写法可直接解决类型找不到的问题。

  • 处理Rider/ReSharper的冗余提示
    上述全限定写法会被Rider或ReSharper标记为「冗余名称限定符」,可通过添加注释临时禁用该提示:

    @* ReSharper disable once RedundantNameQualifier *@
    @inject Microsoft.AspNetCore.Hosting.IWebHostEnvironment HostingEnv
    
  • 关于IsDevelopment()错误的补充
    改用全限定引用后若出现IsDevelopment()相关错误,可参考对应问题评论中的解决方案进行处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.25 17:54:33