次期LTS版となる.NET 10 Preview 1が公開。.NETランタイムのオーバーヘッド削減など
マイクロソフトは同社の包括的なアプリケーションフレームワークの次期版となる「.NET 10」の最初のプレビュー版となる「.NET 9 Preview 1」のリリースを発表しました。
.NET 10 Preview 1 is now available!
— .NET (@dotnet) March 5, 2025
Here are all the links and resources you need to take advantage of the enhancements we made across the .NET Runtime, SDK, libraries, C#, #ASPNET Core, Blazor, #dotNETMAUI, and more. ? https://t.co/t5GyjYEzk8 pic.twitter.com/FoKEGdmRQL
.NETは、デスクトップアプリケーションからモバイルアプリケーション、クラウドネイティブ、ゲーム、IoTなど、あらゆるアプリケーションを包括的にカバーするフレームワークです。

.NETフレームワークの中に、プログラミング言語のC#やコンパイラ、ランタイム、そしてクロスプラットフォーム対応のUIフレームワークでsる.NET MAUIやWebアプリケーションフレームワークのBlazorなどが含まれています。
.NETは偶数バージョンがLTS(Long Term Support:長期サポート)版となり、現時点では2023年11月にリリースされた.NET 8が最新のLTS版です。
そして今回の.NET 10は次のLTS版として、今年11月頃にリリースされるでしょう。
.NET 10は長期サポート版に
LTS版は安定度を優先したバージョンとしてリリースされるため、今回の.NET 10は新機能の追加などの大きな変更よりも、既存機能の安定性向上やバグフィクスなどが優先されると見られます。
実際にマイクロソフトが公開したドキュメント「.NET 10 の新機能」では、今回の.NET 10 Preview 1の新機能が説明されていますが、その多くが小さな新機能や細かなアップデートとなっています。
.NETランタイムのオーバーヘッドを削減
その中で目立つ改善が、.NETランタイムのオーバーヘッド削減です。以下、「.NET 10 の新機能」から説明を引用します。
.NET 10 の主な焦点の 1 つは、一般的な言語機能の抽象化オーバーヘッドを減らすことです。 この目標を達成するために、メソッド呼び出しを非仮想化する JIT の機能が、配列インターフェイス メソッドに対応するように拡張されました。 つまり、仮想呼び出しが関係している場合でも、JIT で配列をループするコードを最適化できるようになりました。 さらに、JIT では、GC ポインターを含まない値型の小さな固定サイズの配列をスタック割り当てできるようになりました。これにより、参照型の抽象化のペナルティがさらに軽減されます。
それ以外にも、.NETライブラリではSHA-1以外のハッシュ アルゴリズムを使用して拇印で証明書を検索可能になり、.NET MAUIでは品質改善に重点が置かれるなどの変更が行われています。
新機能の詳細については前述の「.NET 10 の新機能」をご覧ください。