移除指定 global using 命名空间
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                移除指定 global using 命名空间
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.                        
                                前言
在《.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>那么,只需要把文件中對應行刪除就可以了?!
但是,這種方式必須為所有開發(fā)機器都修改,肯定不現(xiàn)實。
那既然有Using Include,會不會還有Using Exclude呢?
實現(xiàn)
你還別說,還真有:
但是,在項目文件中添加了下列內容后,編譯報錯:
<ItemGroup><Using?Exclude="Microsoft.AspNetCore.Builder"?/> </ItemGroup>按照錯誤提示,我們改用 Remove:
<ItemGroup><Using?Remove="Microsoft.AspNetCore.Builder"?/> </ItemGroup>再次編譯出錯,這次的錯誤是正確的,因為我們已經成功的移除了指定 global using 命名空間。
結論
如果你對 global using 有特定要求,可以采取本文中的方案進行移除。
想了解更多內容,請關注我的個人公眾號”My IO“
總結
以上是生活随笔為你收集整理的移除指定 global using 命名空间的全部內容,希望文章能夠幫你解決所遇到的問題。
                            
                        - 上一篇: 解决 ASP.NET Core 部署到
 - 下一篇: 【C#/.NET 日常开发技巧】JWT+