.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
関連項目
.NET