Start Debugging

タグ: native-aot

22 件 · ページ1/3

EF Core 11 のコンパイル済みモデルとは何か、有効にする価値があるのはどんなときか
コンパイル済みモデルとは、OnModelCreating を実行せずに EF Core のモデルを再構築する生成済み C# コードです。EF Core 11 RC1 での実測では、500 エンティティでモデルの読み込みが 714 ms から 215 ms に短縮されます。ただし EFOptimizeContext の後継である MSBuild 経由の方法は遅く、古くなったモデルはエラーなしで使われ続け、クエリフィルターがあると生成そのものができません。
C# Dev Kit 11.0 は 6 つのプロセスを 1 つの Native AOT バイナリに統合しました
C# Dev Kit 11.0 のプレリリースでは、6 つのマネージドプロセスが単一の Native AOT 製 CSDevKit プロセスと永続的なプロジェクトキャッシュに置き換わりました。407 プロジェクトの Aspire ソリューションが、84.1 秒ではなく 3.0 秒で使えるようになり、メモリ使用量も 2,072 MB から 316 MB に減りました。
MSTest 4.4 でリフレクション用ソースジェネレーターが正式版になり、Native AOT プロジェクトは自動で有効になります
MSTest 4.4 は MSTest.SourceGeneration を実験的な状態から外し、MSTest のバージョンに合わせます。Native AOT のテストプロジェクトはオプトインなしで取り込み、ReflectionFree モードは単純な [TestMethod] と [DataRow] について実行時の検出を省略できるようになり、5 つの AOTSG 診断がサポートされないテストの形を教えてくれます。
2026-09-04 dotnetnative-aotjit
.NET の W^X フラグとは何か、Native AOT はそれを必要とするのか?
W^X (write xor execute) は、いかなるメモリページも書き込み可能と実行可能を同時に満たさないという規則です。.NET では DOTNET_EnableWriteXorExecute というノブとして公開され、.NET 7 以降は既定で有効で、その存在理由はもっぱら JIT にあります。Native AOT はこのノブを一度も読みません。ランタイムがどう実装しているか、何を犠牲にするか、そして無効化が正当な対処になるのはどんなときかを解説します。
.NET 11 のコンテナーイメージにおける framework-dependent と self-contained と Native AOT の比較
ASP.NET Core サービスを .NET 11 で動かすなら、chiseled な aspnet イメージ上の framework-dependent が正しい既定です。ランタイムのレイヤーがサービス間で共有され、ランタイムの CVE はベースイメージの差し替えだけで塞げるからです。self-contained + トリミングと Native AOT はイメージを 2 倍から 5 倍小さくし、コールドスタートを大幅に速くしますが、その代わりに前述の利点を失います。実測された公開サイズ、共有レイヤーの計算、そして AOT の経路を壊す .NET 11 のベースイメージ推論バグを扱います。
.NET 11 で new Regex(...) を [GeneratedRegex] ソースジェネレーターに置き換える方法
.NET 11 で new Regex(pattern, RegexOptions.Compiled) を [GeneratedRegex] に変換する完全ガイドです。機械的な書き換え、部分メソッドと部分プロパティの違い、実測した起動時間とスループット、SYSLIB1040-1045 の診断、そしてジェネレーターが黙ってキャッシュ済み Regex にフォールバックする 2 つのパターンを扱います。
次へ