前言

在《.NET 6新特性试用 | 隐式using指令》中,我们介绍过,开启隐式using指令时,会在编译时生成 GlobalUsings.g.cs 文件,加入大量 global using 指令:

// <auto-generated/>
global using global::Microsoft.AspNetCore.Builder;
global using global::Microsoft.AspNetCore.Hosting;
global using global::Microsoft.AspNetCore.Http;
global using global::Microsoft.AspNetCore.Routing;
global using global::Microsoft.Extensions.Configuration;
global using global::Microsoft.Extensions.DependencyInjection;
global using global::Microsoft.Extensions.Hosting;
global using global::Microsoft.Extensions.Logging;
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Net.Http.Json;
global using global::System.Threading;
global using global::System.Threading.Tasks;

这样的好处是,不用在每个 cs 文件中写using指令了。

但是,如果不想自动引入某个 global using 命名空间,怎么办?

思路

上次,我们已经分析出,global using 具体值来源于项目引用的SDK。

例如,C:\Program Files\dotnet\sdk\6.0.100\Sdks\Microsoft.NET.Sdk.Web\Sdk\Sdk.props 是这样引用的:

<ItemGroup Condition="'$(Language)' == 'C#' AND ('$(ImplicitUsings)' == 'true' or '$(ImplicitUsings)' == 'enable')"><Using Include="System.Net.Http.Json" /><Using Include="Microsoft.AspNetCore.Builder" /><Using Include="Microsoft.AspNetCore.Hosting" /><Using Include="Microsoft.AspNetCore.Http" /><Using Include="Microsoft.AspNetCore.Routing" /><Using Include="Microsoft.Extensions.Configuration" /><Using Include="Microsoft.Extensions.DependencyInjection" /><Using Include="Microsoft.Extensions.Hosting" /><Using Include="Microsoft.Extensions.Logging" /></ItemGroup>

那么,只需要把文件中对应行删除就可以了?!

但是,这种方式必须为所有开发机器都修改,肯定不现实。

那既然有Using Include,会不会还有Using Exclude呢?

实现

你还别说,还真有:

但是,在项目文件中添加了下列内容后,编译报错:

<ItemGroup><Using Exclude="Microsoft.AspNetCore.Builder" />
</ItemGroup>

按照错误提示,我们改用 Remove:

<ItemGroup><Using Remove="Microsoft.AspNetCore.Builder" />
</ItemGroup>

再次编译出错,这次的错误是正确的,因为我们已经成功的移除了指定 global using 命名空间。

结论

如果你对 global using 有特定要求,可以采取本文中的方案进行移除。

想了解更多内容,请关注我的个人公众号”My IO“

移除指定 global using 命名空间相关推荐

  1. java list移除所有元素,从List中移除指定 List 中包含的其所有元素(可选操作)。...

    从List中移除指定 List 中包含的其所有元素,这个当然用List里面的removeAll方法了,但是有朋友说能不能不用removeAll呀 于是我就写了如下代码: class="jav ...

  2. java list移除符合条件的元素_从List中移除指定 List 中包含的其所有元素(可选操作)。...

    从List中移除指定 List 中包含的其所有元素,这个当然用List里面的removeAll方法了,但是有朋友说能不能不用removeAll呀 于是我就写了如下代码: List l = ...; L ...

  3. 获取移除指定Url参数(原创)

    1 /// <summary> 2 /// 移除指定的Url参数 3 /// 来自:http://www.cnblogs.com/cielwater 4 /// </summary& ...

  4. js 数组移除指定元素【函数封装】(含对象数组移除指定元素)

    普通数组移除指定元素 // 普通数组移除指定元素 function removeItem(arr, item) {let targetIndex = arr.findIndex((itemTemp) ...

  5. 怎样将c++的对话框自动移到指定位置_【Excel技巧】如何批量创建多个指定名称的工作表...

    在平时的Excel应用中,经常遇到需要同时创建多个工作表,工作表表格的表头及格式都一样,只是表格输入的具体内容不一样.比如,我们要做学员签到表,从1月至12月,每个月占用一个sheet工作表. 类似这 ...

  6. cstring移除指定字符串_从String中移除空白字符的多种方式!?差别竟然这么大!...

    作者 | Hollis来源 | Hollis字符串,是Java中最常用的一个数据类型了.我们在日常开发时候会经常使用字符串做很多的操作.比如字符串的拼接.截断.替换等.这一篇文章,我们介绍一个比较常见 ...

  7. 移除指定的session

    在上次我写的文章中,我描述了如何把数据添加到session里面,再让临时表格读取session的数据显示到页面. 我们都知道,有添加就有移除对吧,哪么我们又该如何把临时表格里面的数据移除呢?嘿嘿,这个 ...

  8. php 数组移除指定健,php删除数组指定键的方法

    php删除数组指定键的方法:首先创建一个PHP代码示例文件:然后定义一个"array_remove"方法:最后利用"array_key_exists".&quo ...

  9. android studio service directory path,Android Studio User目录缓存搬移到指定目录

    User目录下主要存在三个文件 1..android是Android SDK配置模拟器生成的,一般不用模拟器,子目录avd为空,不需要处理. 2..AndroidStudio需要去AS安装目录下bin ...

最新文章

  1. SQL:给查询添加一个合计行
  2. 7 FI配置-财务会计-定义字段状态变式(总账科目组)
  3. Python机器学习:SVM004Scikit-learn中的SVM
  4. C/C++运行库简介
  5. 软件设计师教程第5版和第4版内容对比
  6. 计算机自带游戏在哪里,win10自带游戏,教您Win10纸牌游戏在哪
  7. 【STM32】串行通讯方式及USART串口通信
  8. python编程拍卖算法
  9. matlab泊松分布随机数和图像,基于Matlab的Poisson分布随机数的Monte carlo模拟
  10. 又到年底冲刺时,华为小米竞相降价促销
  11. 增值税专用发票 计算机 分类,增值税计算机稽核系统发票比对操作规程(试行)...
  12. 计算机存储单位的换算关系
  13. 根据设备不同,加载不同尺寸图片
  14. .Net Framework 4安装失败,提示RGB9RAST_x86.msi或者Windows6.0-KB956250-v6001-x86.msu
  15. bcb 操作 Excel
  16. Ubuntu 14.04+Ros indigo+ORB_SLAM2 的平台搭建
  17. MATLAB——拉氏变换及反其变换、Z变换及其反变换
  18. 两颗遥远行星相撞创造一颗质量近地球10倍的新星球
  19. 一文带你清楚知道项目经理都在干什么?
  20. 【RISC-V】嵌入式开发小技巧之代码字体缩放!

热门文章

  1. SDOI2017 新生舞会
  2. 记录最近的一些遇到的前端面试题
  3. Performance Metrics(性能指标1)
  4. C/C++ 读取16进制文件
  5. Oracle分区表常用命令
  6. 用html编写ASCII表,HTML ASCII
  7. 信息安全管理与评估_计算机工程学院教师参加“信息安全管理与评估赛项”说明会...
  8. MySQL 隐式转换 字符串和整型说明
  9. 前后台分离--概念相关
  10. Linux系统运维之路