C# 9、F# 5を導入した「.NET 5.0」が登場

 米Microsoftは11月10日、アプリケーション開発・実行環境「.NET 5.0」公開を発表した。C# 9とF# 5を導入したほか、.NET Frameworkや.NET Coreとの統合も進めた。

 .NET 5.0はオープンソースとなって以来5回目のメジャーリリースとなる。合わせて、ASP.NET Core、EF Core、C# 9、F# 5も公開した。Microsoftは2019年5月に.NET 5.0を発表し、2020年11月にリリースすることを約束していた。今後、毎年11月にメジャーリリースをリリースする計画だ。.NET 5.0は2021年11月に次期「.NET 6.0」がサポートされた後3ヶ月間(2022年2月まで)サポートされる。なお、.NET 6.0は3年間のサポート期間を持つ長期サポート(LTS)となる予定という。

 言語では、C# 9とF# 5が加わり、「.NET 5.0 SDK」に含まれる。C#コンパイラ機能としてC# Source Generatorsが加わった。C# 9は言語シンタックスを持たないため、テクニカルには含まれていないという。.NET 6.0以降、.NETプロダクト内でのSource Generatorsの活用を進めていくとしている。

 C# 9は新しいパターンもサポートした。また、新しいクラス型としてrecordも加わった。Null可能な参照型、トップレベルステートメントなどの特徴も加わっている。JSONシリアライザーAPI、HTTP 1.1/2、正規表現などの性能も改善し、アプリケーション実装オプションでも、クライアントアプリを発行するClickOnceなどの強化を図った。Server Coreコンテナイメージも加わった。

 .NET 5.0では、以前から明らかにしている「.NET Framework」「.NET Core」「Xamarin/Mono」の統合を進めた。作業は完成していないが、本バージョンでは統合ビジョンに向けて、Monoのサブセットなどを.NET reposに統合した。.NET Frameworkコードとアプリをマイグレーションできるとしており、Xamarin開発者向けには次期.NET 6.0で統合された.NETプラットフォームを利用できるための作業を.NET 5.0に盛り込んでいるという。

 WebAssemblyではなくモバイルをターゲットとする場合はWebAssemblyツールをダウンロードする必要はなく、ASP.NET CoreとWPFについても同様で、コマンドラインから簡単に必要なツールを取得できるとしている。

 すでにMicrosoft自身も、Azureのロードバランシングを使って.NETのWebサイトのトラフィックの50%を.NET 5.0で動かしているという。

 .NET 5.0はWindows、macOS、Linuxをサポート、アーキテクチャはx86、x64、Arm32、Arm64に対応する。Visual Studioユーザーはバージョン16.8以上が必要。

Microsoft .NET
https://dotnet.microsoft.com