重命名需要管理员权限(强制删除命名空间的方法)

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

前言

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

// 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 有特定要求,可以采取本文中的方案进行移除。

本文内容由互联网用户自发贡献,该文观点仅代表作者本人,本站仅供展示。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 97552693@qq.com 举报,一经查实,本站将立刻删除。

给TA打赏
共{{data.count}}人
人已打赏
电脑

雷恩加尔玩法攻略(英雄联盟雷恩加尔出装顺序)

2024-2-5 19:12:34

电脑

ps字体间距的设置方法(ps怎么改字体间距大小)

2024-2-5 19:22:04

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索