1. ホーム
  2. Web プログラミング
  3. ASP.NET

NET6新機能 - 暗黙の名前空間参照

2022-01-13 11:45:53

.NET 6 Preview 7 では、Microsoft は暗黙的な名前空間参照を導入しました。.NET Preview 7ではこの機能はデフォルトで有効になっており、無効にする必要がある場合はDisableImplicitNamespaceImportsを設定して無効にする必要がありますが、. .NET Preview 7ではImplicitUsingsを使用して有効にする必要があります。.NET6ではデフォルトで再び有効になっています。それでは、.NET6で使用する方法を見ていきましょう。

新しい名前空間参照を追加したい場合は、プロジェクト・ファイルにある <Using Include="namespace"/> また、名前空間を削除する必要がある場合は、< Using Remove="namespaces"/>

.NET 6を使ってアプリケーションを作成すると、プロジェクトファイルは次のようになります。

<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 のコードがあることがわかります。 ImplicitUsings ノードがあります。これは、暗黙の名前空間参照を有効にするために先ほど述べた設定プロパティで、次のように設定することができます。 enable または {コード {コード をクリックすると、この機能が有効になります。この機能を有効にすると

のコードは次のようになります。

次の例を見てください。

プロジェクトファイルの中身は、こんな感じです。

true 

NET6 では、必要な名前空間参照を <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> ファイルを作成します。

は次のように読みます。

Global Using

ここでひとつ、注意しておきたいことがあります。 この機能を有効にすると、プロジェクトのアップグレード時に競合が発生し、正常にコンパイルできなくなりますが、無効にしておけば、アップグレード時にこの問題を回避することができます。

NET6の暗黙の名前空間への言及は、過去の記事を検索するか、以下の関連記事を引き続き閲覧してください。