.NET 11 の新機能

この記事では、.NET 11 の新機能について説明します。 プレビュー 7 で最後に更新されました。

.NET 11 は現在プレビュー段階です。 最終的なリリースは 2026 年 11 月に予定されています。 ダウンロード.NET 11 はこちら

.NET ランタイム

.NET 11 ランタイムには次のものが含まれます。

  • x86/x64 および Arm64 アーキテクチャの最小ハードウェア要件を更新しました。パフォーマンスを向上させ、メンテナンスの複雑さを軽減するために、より最新の命令セットが必要です。
  • ランタイムネイティブの非同期 (ランタイム非同期)。よりクリーンなスタック トレースを生成し、オーバーヘッドを削減します。 ランタイム非同期では、<EnablePreviewFeatures>true</EnablePreviewFeatures>を対象とするプロジェクトのnet11.0が不要になります。 ランタイム ライブラリ自体は、 runtime-async=onでコンパイルされます。
  • ランタイム非同期パフォーマンスの向上。これには、同期タスクを返すメソッドの専用ランタイム非同期バージョンの JIT コンパイル、アンビエント状態が使用されていないときに ExecutionContext キャプチャをオプトアウトする非同期継続、生成されたコード サイズを小さくする末尾マージされた中断ポイントが含まれます。
  • ランタイムの非同期階層化コンパイル、Task および ValueTask ファクトリの組み込み処理、ならびに暗黙的テールコールの改善により、ウォームアップ時の割り当てが減少し、一般的な await パスが高速化されます。
  • 境界チェックの除去、冗長な checked コンテキストの削除、デバーチャライゼーション、switch 式の畳み込み、定数の畳み込み SequenceEqual、および冗長な分岐の除去に関する JIT の改善。 また、新しい Arm SVE2 組み込み関数があり、ハードウェア固有のコスト モデリングが改善され、x64 で MUL 指示を 1 つ生成する Math.BigMul が高速になっています。
  • WebAssembly 上の CoreCLR によって、ライブラリ テスト スイートがエンド ツー エンドで実行されるようになりました。ランタイムは、ベクター化された乗算追加ワークロードに AVX-VNNI-512 ハードウェア組み込みを追加します。
  • プロセスが終了する前にマネージド スタック トレースとランタイム状態をキャプチャするモバイル プラットフォームでのインプロセス クラッシュ レポートのログ記録。
  • NativeAOT は、共有ディスパッチ ヘルパーを使用してインターフェイスディスパッチを高速化し、呼び出しサイトでのバイナリ サイズを削減し、インターフェイスの負荷の高いワークロードのスループットを向上させます。
  • CreateGeometricSequenceZipUnzipConcat、およびVector128<T>全体の SIMD レーン構築および構成 API (Vector256<T>Vector512<T>Vector64<T>、およびVector<T> ファミリ)。

詳細については、「 .NET 11 ランタイムの新機能を参照してください。

.NET ライブラリ

.NET 11 のライブラリには、次の新しい API が含まれています。

  • Process 実行とキャプチャ ヘルパーによる拡張、ファイア アンド フォーゲット起動、 SafeProcessHandle ライフサイクル メソッド、より厳密なハンドル制御、新しい ProcessStartInfo.StartSuspended による起動の一時停止、Process.TryGetProcessById(Int32, Process) による安全なプロセス参照。
  • 圧縮 (強化された Base64 API、ZIP アーカイブ エントリの新しい方法、 System.IO.Compressionでの Zstandard 圧縮、ZIP エントリを読み取る際の CRC32 検証など)。
  • IEEE 754 の 10 進浮動小数点型 (Decimal32Decimal64Decimal128)、区切り記号対応の解析用の INumberBase<TSelf>.TryParsePartial 、汎用 Complex<T>など、新しい数値 API。
  • System.Text.Json の機能強化。これには、ジェネリック型情報の取得、JsonNamingPolicy.PascalCase、メンバーごとの名前付けポリシーのオーバーライド、型レベルでの無視条件、F# 判別共用体のサポート、オプション付きの Utf8JsonWriter.ResetSerializeAsyncEnumerable ターゲットおよびトップレベル値の出力 (NDJSON) 向けの PipeWriter オーバーロード、C# 共用体型のシリアル化が含まれます。
  • MemoryCache向けの組み込みOpenTelemetryメトリック。
  • UnionAttribute での判別共用体スキャフォールディング (IUnionSystem.Runtime.CompilerServices)。
  • Tar アーカイブ形式の選択と GNU スパース形式 1.0 のサポート。
  • Console FORCE_COLOR環境変数のサポート。
  • Linux での TLS ハンドシェイクのセキュリティ強化と証明書検証のアラート。
  • HTTP 要求本文の圧縮ラッパー、構成可能な HTTP 接続の削除、型指定された DNS レコード解決 API など、ネットワークの追加。
  • Windows 認証の HTTP/2 自動ダウングレード
  • LINQ の結合機能の改善。これには、FullJoin、およびタプルを返す JoinGroupJoin のオーバーロードが含まれ、EnumerableQueryableAsyncEnumerable 全体で適用されます。
  • X25519 キー交換用の新しい X25519DiffieHellman クラス。
  • 任意の数値ジェネリック型で動作する Random ( NextInteger<T> および NextBinaryFloat<T> ) のジェネリック オーバーロード。
  • EqualityComparer<T>.Create キー セレクターから比較子を作成するファクトリ メソッド。
  • QuicStream.Priority HTTP/3 ストリームの優先順位付け。
  • MediaTypeNames.Videoのビデオ MIME の種類の定数。
  • コピーせずにメモリ内データをラップする 4 つの新しい Stream 型 (ReadOnlyMemoryStreamWritableMemoryStreamReadOnlySequenceStreamStringStream)。
  • System.ComponentModel.DataAnnotationsAsyncValidationAttribute、および新しいIAsyncValidatableObject メソッドを使用したValidator.ValidateObjectAsyncでの非同期検証。
  • Microsoft.Extensions.Diagnosticsのルールを使用したアクティビティ トレースの構成。Activityインスタンスを手動で接続することなく、ActivityListener トレースの宣言型制御を有効にします。
  • CreateGeometricSequenceZipUnzipConcatVector128<T>Vector256<T>Vector512<T>、およびVector64<T>Vector<T> ファミリを含むクロスレーン ベクター操作。

詳細については、「 .NET 11 ライブラリの新機能を参照してください。

.NET SDK

.NET 11 SDK には次のものが含まれます。

  • アセンブリ重複除去による Linux および macOS 上の小規模な SDK インストーラー。 DotnetToolsのみのアセンブリでは crossgen をスキップすることで、さらに節約できます。
  • CA1873 コード アナライザーが改善され、ノイズが減り、診断メッセージがより明確になります。
  • .slnf CLI からのソリューション フィルター (dotnet sln) の作成と編集のサポート。
  • #:includeアプリを複数のファイルに分割し、#:include ./libs/MyLib.dllコンパイル済み DLL 参照を直接含めるための、ファイルベース アプリのサポート。
  • コマンド ラインから環境変数を渡す新しい dotnet run -e オプション。
  • dotnet watch アプリ ホストの統合、自動クラッシュ回復、MAUI およびモバイル プロジェクトのデバイスの選択など、 Aspire の機能強化。
  • OpenTelemetry は、CLI テレメトリの Application Insights に代わるものです。
  • すべての組み込みコマンドおよびツール/外部コマンドの起動向けの --help を含む完全なコマンド機能全体を、マネージド CLI の起動をスキップして AOT パスから別プロセスで提供する NativeAOT CLI エントリ ポイント。
  • NativeAOT CLI と MSBuild サーバーが既定で有効になりました。
  • dotnet test --no-dependenciesDOTNET_TEST_RUNNER環境変数、--use-current-runtime--test-modules除外パターン、アセンブリごとのテスト数、飛行中テストのライブ表示など、改善されました。
  • 実行レベルの--timeout--maximum-failed-tests、トラバーサル プロジェクトのサポート、--list-testsの JSON 出力、マルチモジュール実行の成果物の後処理など、dotnet testの機能強化が追加されました。
  • 組み込みのテスト テンプレートでは、xUnit v3(既定では Microsoft.Testing.Platform を使用)と、オプトインの --test-runner オプションによる NUnit をサポートしています。
  • SDK のコンテナー発行サポートを使用して、Podman を使用して複数アーキテクチャのコンテナー イメージがビルドされます。
  • コンテナーの発行では、Docker と Podman の前にプラットフォームネイティブのローカル ランタイム (Windows と macOS のcontainerwslc) が優先されるようになりました。
  • Razor クラス ライブラリからの TypeScript コンパイル出力が、静的 Web アセット パイプラインと正しく統合されるようになりました。
  • dotnet CLI では、DOTNET_CLI_USE_MSBUILD_SERVERが設定されていない場合に MSBuild ビルド サーバーが抑制されなくなり、OTLP テレメトリ エクスポーターは標準のOTEL_EXPORTER_OTLP_*環境変数でアクティブ化されます。

詳細については、「 sdk for .NET 11を参照してください。

ASP.NET Core

ASP.NET Coreの新機能については、.NET 11用ASP.NET Coreの新機能を参照してください。

C# 15

C# 15 には、次の機能が含まれています。

新しい C# 機能の詳細については、「 C# 15 の新機能」を参照してください。

EF Core

.NET 11の EF Core の新機能を参照してください。

拡張機能ライブラリ

dotnet/extensions のリリース ノートを参照してください。

Windows フォーム

.NET 11 の Windows フォーム の新機能を参照してください。

WPF

.NET 11 の WPF の新機能を参照してください。

こちらも参照ください

  • .NET 10