.NET 5.0.0 Preview 1がリリースされました
2020年3月16日、「.NET 5.0.0 Preview 1」がリリースされました。.NET 5
「.NET 5」は「.NET Core 3」の次期メジャーバージョンです。.NET Core 3
「.NET Core 3」では、幅広く使用されているアプリモデルが移植され、「Windows Forms(WinForms)」や「WPF」によるデスクトップアプリの開発も可能になりました。他にも「ASP.NET Blazor」や「gRPC」も利用可能になりました。
.NETを単一プラットフォームに
「.NET 5」では引き続き「.NET」を単一プラットフォームにする作業が行われ、「.NETモバイルデバイスアプリモデル(Xamarin)」がサポートされる予定です。また「.NET 5」では、以下の技術/フレームワークが含まれる予定です。
- ASP.NET Core
- Entity Framework Core
- WinForms
- WPF
- Xamarin
- ML.NET
また「.NET 5」では、すべてのアプリモデルにおいて、フレームワーク全体で統合された「BCL(Base Class Libraries)」を使用するようになります。
.NET 5は.NETの未来
「.NET 5」は「.NET Core 3」の後継バージョンですが、「.NET Framework」にとっても後継バージョンとなります。(実装自体は「.NET Core 3」の流れを汲みます。)
そのため「.NET Core」から「Core」の名称が削除され、「.NET」になります。
「.NET 4」が存在しないのは「.NET Framework」にバージョン4が存在するためであり、「.NET」の未来であることを明確に示すため、「.NET Core」から見ても「.NET Framework」から見ても、より高いバージョンである「.NET 5」が採用されました。
「.NET 5」は、あらゆる種類のアプリケーションを構築するための単一プラットフォームになります。
.NET Frameworkのサポート
新しいアプリケーションを開発する場合は、まず「.NET Core 3.1」上で開発し、その後「.NET 5」への移行が強く推奨されます。その一方で「.NET Framework」も不具合の修正やセキュリティーアップデートが提供されるため、すでに「.NET Framework」上で動作している古いアプリは、そのまま利用することができます。
GA版のリリース時期
「.NET 5」のGA版(安定版)2020年11月にリリースされる予定です。.NET 5.0.0 Preview 1のリリース情報
「.NET 5.0.0 Preview 1」のリリース情報です。リリース情報
- リリースアナウンス:Announcing .NET 5 Preview 1
- リリースノート:.NET 5.0.0 Preview 1 - March 16, 2020
- ダウンロード:Download .NET 5.0
- インストール方法:.NET 5.0.0 Preview 1
- サポートOS:.NET 5 - Supported OS versions
- ASP.NET:ASP.NET Core updates in .NET 5 Preview 1
初のWindows ARM64サポート
「.NET 5.0.0 Preview 1」で初の「Windows ARM64」のサポートが含まれます。また「Windows ARM64」サポートは、「.NET Core 3.1」にもバックポートされる予定です。
SDK
「.NET 5.0.0 Preview 2」で「ASP.NET Core」の「SDK」が含まれる予定です。「WPF」及び「Windows Forms」の「SDK」は、その後のプレビューリリースで含まれる予定です。
詳細は「.NET 5.0.0 Preview 2」のリリース時に紹介されます。
改良点
「.NET 5.0.0 Preview 1」では、以下の改良が行われています。- 正規表現のパフォーマンス改善(3倍〜6倍)
- RyuJITのコード品質改良とパフォーマンスの改善
- アセンブリロード情報をイベントパイプに追加し、診断機能をサポート
- イベントパイププロファイラーAPI
- GitHubリポジトリーの統合
既存のプロジェクトを.NET 5に変更するには
既存のプロジェクトを「.NET 5.0」に変更するには、プロジェクトのターゲットフレームワークを以下のように修正します。<TargetFramework>netcoreapp5.0</TargetFramework>
.NET 5の主な目標
「.NET 5」では、以下の主な目標を掲げています。.NET SDKの使い勝手の統一
「.NET SDK」の使い勝手の統一が挙げられています。BCLの統一
すべての「.NET 5」アプリケーションは横断的に単一の「BCL(Base Class Libraries)」を使用します。現在「Xamarin」アプリケーションは「Mono BCL」を使用していますが、これを「.NET Core BCL」に移行します。
これによりすべてのアプリケーションモデルで互換性が向上します。
モバイル開発の統合
またモバイル開発(Xamarin)を「.NET 5」に統合します。これにより「.NET SDK」は、モバイル開発をサポートするようになります。
例えば開発者は以下のコマンドにより、モバイルアプリケーションの開発が可能になります。
dotnet new XamarinForms
マルチプラットフォームに対応したネイティブアプリケーション
マルチプラットフォームで動作するネイティブアプリケーションをサポートします。単一のデバイスプロジェクトで、複数のデバイス上で横断的に動作するアプリケーションの開発が可能になります。
例えば以下のプラットフォームで、それぞれのプラットフォームのネイティブコントロールを使用して動作するアプリケーションの開発が可能になります。
- Window Desktop
- Microsoft Duo(Android)
- iOS
マルチプラットフォームに対応したウェブアプリケーション
マルチプラットフォームで動作するウェブアプリケーションをサポートします。単一のBlazorプロジェクトで、モバイルデバイス上のブラウザーやネイティブデスクトップアプリケーションとして動作するアプリケーションの開発が可能になります。