.NET6新特性之 隱式命名空間引用
早在 .NET 6 Preview 7版本中微軟就已經(jīng)引入隱式命名空間引用。在.NET Preview 7這個(gè)版本中這個(gè)功能是默認(rèn)開(kāi)啟的,如果需要禁用它的化就需要配置DisableImplicitNamespaceImports來(lái)禁用,但是到了.NET6 RC1版本的時(shí)候這個(gè)功能是禁用的,如果要使用就需要通過(guò)ImplicitUsings來(lái)啟用。到了.NET6正式版中這個(gè)功能又又又默認(rèn)開(kāi)啟了。下面我們以.NET6正式拜為例,來(lái)看一下怎么使用它吧!
如果我們要在新加一個(gè)命名空間的引用,可以在項(xiàng)目文件中配置增加<Using Include="命名空間"/>,如果需要移除一個(gè)命名空間可以這么做<Using Remove="命名空間"/>
我們使用.NET 6創(chuàng)建應(yīng)用之后,項(xiàng)目文件的內(nèi)容類似下面這樣:
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
</ItemGroup>
</Project>
從上面的JSON代碼中,我們看到有一個(gè)ImplicitUsings節(jié)點(diǎn),這個(gè)節(jié)點(diǎn)就是我們前面提到的用于啟用隱式命名空間引用的配置屬性,可以配置為 enable 或者 true 來(lái)啟用這個(gè)特性。當(dāng)我們開(kāi)啟了這個(gè)特性后,
我們的代碼將變?yōu)橄旅孢@樣:
來(lái)看下面的這個(gè)示例:

項(xiàng)目文件的內(nèi)容是這樣的:
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> </PropertyGroup> <ItemGroup> <Using Include="System.Console" Static="true" /> <Using Include="System.IO.File" Alias="MyFile"/> <Using Remove="System" /> </ItemGroup> </Project>
.NET6為我們生成必要的命名空間引用的同時(shí),也為我們自動(dòng)生成了Global Using文件,
內(nèi)容如下:
// <auto-generated/> 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.Threading; global using global::System.Threading.Tasks; global using MyFile = global::System.IO.File; global using static global::System.Console;
這里有一點(diǎn)需要注意:如果啟用這個(gè)功能的話,會(huì)出現(xiàn)項(xiàng)目升級(jí)的時(shí)候有沖突導(dǎo)致無(wú)法正常的編譯,但是如果禁用得話升級(jí)的時(shí)候就能避免這種問(wèn)題,具體該不該開(kāi)啟我覺(jué)得還是得看項(xiàng)目而定。
到此這篇關(guān)于 .NET6特新 隱式命名空間引用的文章就介紹到這了,更多相關(guān) .NET6? 隱式命名空間引用內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
.net中線程同步的典型場(chǎng)景和問(wèn)題剖析
在使用多線程進(jìn)行編程時(shí),有一些經(jīng)典的線程同步問(wèn)題,對(duì)于這些問(wèn)題,.net提供了多種不同的類來(lái)解決2012-11-11
ASP.NET?Core使用Middleware設(shè)置有條件允許訪問(wèn)路由
這篇文章主要介紹了ASP.NET?Core使用Middleware設(shè)置有條件允許訪問(wèn)路由,文章圍繞主題相關(guān)資料展開(kāi)學(xué)習(xí)內(nèi)容,需要的小伙伴可以參考一下,希望對(duì)你的學(xué)習(xí)有所幫助2022-02-02
使用Asp.net Mvc3 Razor視圖方式擴(kuò)展JQuery UI Widgets方法介紹
jquery easyui grid或者extjs grid,jtable的代碼非常簡(jiǎn)潔、對(duì)于grid功能要求不是很復(fù)雜的情況下,強(qiáng)烈推薦大家使用2012-11-11
ASP.NET Core WebSocket集群實(shí)現(xiàn)思路詳解
這篇文章主要為大家介紹了ASP.NET Core WebSocket集群實(shí)現(xiàn)思路詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
.NET新能源汽車鋰電池檢測(cè)程序UI掛死問(wèn)題分析
這篇文章主要為大家介紹了.NET新能源汽車鋰電池檢測(cè)程序UI掛死問(wèn)題分析?,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11
利用.NET 開(kāi)發(fā)服務(wù)器 應(yīng)用管理工具
這篇文章主要介紹如何利用.NET 開(kāi)發(fā)一個(gè)應(yīng)用管理工具的服務(wù)器,文章回先聊背景接著其是喲美好方法,需要的的小伙伴可以參考一下小面文章的具體內(nèi)容2021-10-10
asp.net core使用DevExtreme20將int列轉(zhuǎn)為checkbox方法示例
這篇文章主要為大家介紹了asp.net core使用DevExtreme20將int列轉(zhuǎn)為checkbox方法示例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08
.Net Core HttpClient處理響應(yīng)壓縮詳細(xì)
.Net Core作為后起之秀直接將HttpClient扶正,并且在此基礎(chǔ)上改良了HttpClientFactory,接下來(lái)我們就來(lái)探究一下在.Net Core中使用HttpClient處理響應(yīng)壓縮的機(jī)制。,需要的朋友可以參考下面文章的具體內(nèi)容2021-09-09

