C#的global using在.cshtml文件中不生效,如何解决?
在.cshtml中实现全局引用类库的正确方式
先给你划重点:global using是C# 10+专门给.cs后端代码用的语法,没法直接在.cshtml视图文件里用,视图有自己的全局引用逻辑。
你之前的尝试为啥没生效?
- 方法1、2、4:这些配置都是针对.cs文件的全局引用,只会作用于后端代码,不会自动同步到.cshtml视图里。
- 方法3:Razor视图的语法不支持
@global using这种写法,所以才会报“无法解析symbol 'global'”的错误。
正确的实现步骤
要让所有.cshtml视图都能直接用MfcUtilities这类类库,只需要修改项目里的**_ViewImports.cshtml**文件(注意是默认的这个文件名,不是你写的_ImportView.cshtml),在里面加普通的Razor引用指令就行:
@using MfcUtilities @using AdaSpec
这个文件里的所有@using会自动应用到项目中所有.cshtml视图,不用每个视图都重复写引用。
额外提醒
如果你的类库是第三方NuGet包或者不在当前项目的命名空间下,得先确保在.csproj里正确添加了引用(比如<PackageReference>或者<ProjectReference>),不然就算在_ViewImports.cshtml里加了引用,视图还是找不到对应的类库。
内容的提问来源于stack exchange,提问作者cheny
相关产品推荐
相关产品推荐

