MS_DotNet5 - NetDevInfraWGinOSSConsortium/NetDevInfraWiki GitHub Wiki
-
.NET Core 3.0 の後継
リリース番号を「4」ではなく「5」にした理由について、
.NET Frameworkで以前から「4.x」の
リリース番号が使われてきたため、
これに慣れたユーザを混乱させるのを避けたかったと説明した。 -
.NET 5 以降は以下を 1 つの .NET に集約する。
-
クロスプラットフォームのアプリケーションを開発できるようになる。
(Windows や Linux、macOS、iOS、Android、tvOS、watchOS、
WebAssembly などに対応)
移行メモ(正誤:統合は部分的だった): 「.NET Framework も集約する」と
読める記述だが、.NET Framework は .NET 5 に統合されていない。
正確には次のとおりである。
対象 実際 .NET Core .NET 5 に発展的に改称(実体としての本流) Mono / Xamarin ランタイムとして .NET 5 以降に取り込まれた .NET Framework 4.8 統合されず、そのまま据え置き。4.8.1 が最終で、Windows と共にサポートされる 「3 つを 1 つに」という当時のメッセージは、
正確には「今後の .NET は 1 本にする。
.NET Framework は移行元として残す」という意味であった。
既存の .NET Framework アプリが自動的に .NET 5 になるわけではない。
.NET Coreを踏襲 / 維持する点。
- コミュニティー志向
- GitHub で管理される
- プラットフォーム固有の機能
- Windows: Windows Forms / WPF
- Xamarin
- その他、既存環境との共存
- 小規模なプロジェクトファイル(SDK スタイル)
- 高機能なコマンドラインインタフェース(CLI)
- IDE との統合
- 全プラットフォームで Java との相互運用性が確保
- Objective-C や Swift との相互運用性が複数の OS でサポート
CoreFX 拡張で .NET の静的コンパイル、フットプリントの縮小
補足(Native AOT として結実した): 「静的コンパイル、フットプリントの縮小」は、
その後 Native AOT として実装された(.NET 7 で正式)。<PublishAot>true</PublishAot>
効果 内容 起動が速い JIT が不要。数ミリ秒で起動 メモリが少ない ランタイムを持ち歩かない 単一の実行ファイル .NET のインストール不要 制約 リフレクション・動的コード生成が制限される サーバーレス(Azure Functions)や
コンテナで効果が大きい。
なお ReadyToRun + Tiered Compilationとは
別の技術(あちらは JIT を前提とした事前コンパイル)である。
- 2020年前半:最初のプレビュー版をリリース
- 2020年11月10日:正式版(GA)をリリース
- その後
- メジャーリリースを毎年提供
- 偶数番号のリリースが LTS(Long Term Support)
移行メモ(正誤・最新化): 元ページの「LTS(Long Time Support)」は
Long Term Support の誤記である。サポート期間の実際は次のとおり。
種別 期間 該当 LTS(偶数) 3 年 .NET 6 / 8 / 10 STS(奇数。旧 Current) 18 か月 .NET 5 / 7 / 9 .NET 5 自体は STS であり、2022年5月10日にサポートが終了している。
現在 .NET 5 を新規に選ぶ理由はなく、
LTS である .NET 8 以降を選ぶことになる。
- Download .NET
https://dotnet.microsoft.com/download/dotnet/
-
Microsoft、「.NET Core 3.0」の後継となる
「.NET 5」を2020年にリリース:3種類の「.NET」を1つに集約 - @IT
https://www.atmarkit.co.jp/ait/articles/1905/09/news108.html -
「.NET 5.0」リリース、macOS・Linux・Windowsに対応した、
.NET統合への第一歩:CodeZine
https://codezine.jp/article/detail/13196
- マイクロソフト、.NET 5でVisual Basicをサポートするも進化計画はなし
https://japan.zdnet.com/article/35150943/
補足(VB.NET の扱い): 上記記事のとおり、
.NET 5 で VB.NET は「サポートするが、言語としては
進化させない」という方針が明示された。
C# の新機能(レコード型、パターン マッチング等)は
VB には入らない。既存資産の維持は可能だが、
新規開発で VB を選ぶ理由は乏しい。
詳細はVB ⇔ C# 変換を参照。
-
[速報]オープンソースの「.NET 5」がすべての.NETを引き継ぐ。
.NET Frameworkと.NET CoreとXamarinは「.NET 5」に。Microsoft Build 2019
https://www.publickey1.jp/blog/19/net_5netnet_frameworknet_corexamarinnet_5microsoft_build_2019.html -
[速報]マイクロソフト「.NET 5」正式リリース。
1つのフレームワークでWindows/Mac/Linuxの
デスクトップ、サーバアプリ、Webアプリなどが開発可能に
https://www.publickey1.jp/blog/20/net_51windowsmaclinuxweb.html
-
Announcing .NET 5.0 - .NET Blog
https://devblogs.microsoft.com/dotnet/announcing-net-5-0/ -
.NET およびその他の製品のサポート ポリシー
https://dotnet.microsoft.com/platform/support/policy/dotnet-core
Tags: 移行, .NET開発, .NET Core, .NET Standard