次の方法で共有


.NET 9 以降の試験的機能

.NET 9 以降では、一部の機能で ExperimentalAttribute を使用して、API の形状または機能がリリースに含まれているが、まだ正式にサポートされていないことを示しています。 試験段階の機能を使用すると、.NET チームは、API を改良し、次のメジャー リリースで [Experimental] 属性を削除することを目的として、API の形状と機能に関するフィードバックを収集できます。

コードが実験用 API を参照すると、コンパイラによって、 SYSLIB5XXXなどの ID を持つエラーが生成されます。 試験段階としてマークされている各機能には、一意の診断 ID があります。 実験用機能の使用に同意するには、特定の診断を抑制します。 診断を抑制する任意の手段でこれを実行できますが、プロジェクトの <NoWarn> プロパティに診断を追加することをお勧めします。 詳細については、「警告を表示しない」を参照してください。

実験的な各機能には個別の ID があるため、ある実験的な機能の使用に同意したとしても、別の実験的機能の使用に同意することにはなりません。

リファレンス

次の表に、.NET 9 以降の SYSLIB5XXX 試験的 API のインデックスを示します。

診断 ID 試験版 説明
SYSLIB5001 .NET 9 Tensor<T>System.Numerics.Tensorsの関連 API は試験段階です。
SYSLIB5002 .NET 9 SystemColors 代替色は試験段階です
SYSLIB5003 .NET 9 Sve は試験的です
SYSLIB5004 .NET 9 DivRem(UInt32, Int32, Int32) は試験的です。パフォーマンスは次のように最適化されていないためです。 T.DivRem
SYSLIB5005 .NET 9 System.Formats.Nrbf は試験的です

警告を表示しない

試験的な機能を使用すると、機能が安定していて完全にサポートされるとマークされる前に、API の形状と機能に関するフィードバックを送信できます。 ただし、この機能を使用すると、コンパイラから警告が生成されます。 警告を抑制すると、次のメジャー リリースで API の形状または機能が変更される可能性があることを確認します。 API が削除される場合もあります。 <NoWarn> プロジェクト設定 (推奨) またはコード内の #pragma ディレクティブを使用して、警告を抑制できます。

プロジェクト ファイルで警告を抑制するには:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
   <TargetFramework>net9.0</TargetFramework>
   <!-- NoWarn below suppresses SYSLIB5001 project-wide -->
   <NoWarn>$(NoWarn);SYSLIB5001</NoWarn>
   <!-- To suppress multiple warnings, you can use multiple NoWarn elements -->
   <NoWarn>$(NoWarn);SYSLIB5002</NoWarn>
   <NoWarn>$(NoWarn);SYSLIB5003</NoWarn>
   <!-- Alternatively, you can suppress multiple warnings by using a semicolon-delimited list -->
   <NoWarn>$(NoWarn);SYSLIB5001;SYSLIB5002;SYSLIB5003</NoWarn>
  </PropertyGroup>
</Project>

コードで警告を抑制するには:

// Disable the warning.
#pragma warning disable SYSLIB5001

// Code that uses an experimental API that produces the diagnostic SYSLIB5001
//...

// Re-enable the warning.
#pragma warning restore SYSLIB5001

関連項目