この記事では、.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 は、共有ディスパッチ ヘルパーを使用してインターフェイスディスパッチを高速化し、呼び出しサイトでのバイナリ サイズを削減し、インターフェイスの負荷の高いワークロードのスループットを向上させます。
-
CreateGeometricSequence、Zip、Unzip、Concat、および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 進浮動小数点型 (Decimal32、 Decimal64、 Decimal128)、区切り記号対応の解析用の INumberBase<TSelf>.TryParsePartial 、汎用 Complex<T>など、新しい数値 API。
- System.Text.Json の機能強化。これには、ジェネリック型情報の取得、JsonNamingPolicy.PascalCase、メンバーごとの名前付けポリシーのオーバーライド、型レベルでの無視条件、F# 判別共用体のサポート、オプション付きの Utf8JsonWriter.Reset、
SerializeAsyncEnumerableターゲットおよびトップレベル値の出力 (NDJSON) 向けのPipeWriterオーバーロード、C# 共用体型のシリアル化が含まれます。 - MemoryCache向けの組み込みOpenTelemetryメトリック。
-
UnionAttributeでの判別共用体スキャフォールディング (IUnionとSystem.Runtime.CompilerServices)。 - Tar アーカイブ形式の選択と GNU スパース形式 1.0 のサポート。
-
ConsoleFORCE_COLOR環境変数のサポート。 - Linux での TLS ハンドシェイクのセキュリティ強化と証明書検証のアラート。
- HTTP 要求本文の圧縮ラッパー、構成可能な HTTP 接続の削除、型指定された DNS レコード解決 API など、ネットワークの追加。
- Windows 認証の HTTP/2 自動ダウングレード
- LINQ の結合機能の改善。これには、
FullJoin、およびタプルを返すJoinとGroupJoinのオーバーロードが含まれ、Enumerable、Queryable、AsyncEnumerable 全体で適用されます。 - X25519 キー交換用の新しい X25519DiffieHellman クラス。
- 任意の数値ジェネリック型で動作する Random (
NextInteger<T>およびNextBinaryFloat<T>) のジェネリック オーバーロード。 - EqualityComparer<T>.Create キー セレクターから比較子を作成するファクトリ メソッド。
- QuicStream.Priority HTTP/3 ストリームの優先順位付け。
- MediaTypeNames.Videoのビデオ MIME の種類の定数。
- コピーせずにメモリ内データをラップする 4 つの新しい
Stream型 (ReadOnlyMemoryStream、WritableMemoryStream、ReadOnlySequenceStream、StringStream)。 -
System.ComponentModel.DataAnnotations、AsyncValidationAttribute、および新しいIAsyncValidatableObjectメソッドを使用したValidator.ValidateObjectAsyncでの非同期検証。 -
Microsoft.Extensions.Diagnosticsのルールを使用したアクティビティ トレースの構成。Activityインスタンスを手動で接続することなく、ActivityListenerトレースの宣言型制御を有効にします。 -
CreateGeometricSequence、Zip、Unzip、Concat、Vector128<T>、Vector256<T>、Vector512<T>、およびVector64<T>のVector<T>ファミリを含むクロスレーン ベクター操作。
詳細については、「 .NET 11 ライブラリの新機能を参照してください。
.NET SDK
.NET 11 SDK には次のものが含まれます。
- アセンブリ重複除去による Linux および macOS 上の小規模な SDK インストーラー。
DotnetToolsのみのアセンブリでは crossgen をスキップすることで、さらに節約できます。 - CA1873 コード アナライザーが改善され、ノイズが減り、診断メッセージがより明確になります。
-
.slnfCLI からのソリューション フィルター (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-dependencies、DOTNET_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 の
containerでwslc) が優先されるようになりました。 - Razor クラス ライブラリからの TypeScript コンパイル出力が、静的 Web アセット パイプラインと正しく統合されるようになりました。
-
dotnetCLI では、DOTNET_CLI_USE_MSBUILD_SERVERが設定されていない場合に MSBuild ビルド サーバーが抑制されなくなり、OTLP テレメトリ エクスポーターは標準のOTEL_EXPORTER_OTLP_*環境変数でアクティブ化されます。
詳細については、「
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
.NET