.NET 6及更高版本中的using指令/引用语句的位置在哪里?
问题原因:.NET 6 引入的隐式全局using特性
你看不到显式的using Microsoft.AspNetCore.Builder;语句,是.NET 6 新增的隐式全局using特性在生效,具体逻辑如下:
- 新建.NET 6及更高版本的项目时,项目配置文件(.csproj)中会默认启用配置:
<ImplicitUsings>enable</ImplicitUsings> - 开启该配置后,SDK会根据你创建的项目类型,自动全局导入该场景下常用的命名空间,不需要开发者在每个.cs文件中重复编写using语句
- 对于ASP.NET Core Web应用类型,默认自动导入的命名空间就包含
Microsoft.AspNetCore.Builder、Microsoft.Extensions.DependencyInjection等高频使用的命名空间,所以你可以直接使用WebApplication类而无需手动加引用
可选调整方案
如果你不习惯这个特性,或者需要关闭该功能,只需要修改项目.csproj文件中的配置,将<ImplicitUsings>enable</ImplicitUsings>改为<ImplicitUsings>disable</ImplicitUsings>即可,之后就需要和之前版本一样手动编写所有需要的using语句。
你也可以自定义全局using:在任意.cs文件中编写global using 你需要的命名空间;,该命名空间会在整个项目范围内生效,不需要每个文件重复引用。
特性设计初衷
包括隐式using、合并Startup.cs到Program.cs的调整,都是为了减少.NET项目的样板代码,降低新手入门的门槛,同时减少开发者重复编写冗余代码的工作量。
内容的提问来源于stack exchange,提问作者VivekDev
相关产品推荐
相关产品推荐

