完全統合を果たしたクロスプラットフォームの「.NET 5.0」、正式リリース:Microsoft Azure最新機能フォローアップ(128)
2020年11月10日(米国時間)、Microsoftはアプリケーション開発/実行環境の最新メジャーリリース「.NET 5.0」を正式にリリースしました。今後、運用環境のWeb(クラウド)アプリ、およびWindows、macOS、Linuxのクロスプラットフォームのデスクトップアプリ開発に積極的に利用することができます。
「.NET 5.0」は、.NET Frameworkと.NET Coreを統合する後継バージョン
MicrosoftはWindowsの各バージョンに同梱または追加提供する形で最新の「.NET Framework(1.0〜4.8)」を提供する一方で、2016年からはWindows、macOS、Linuxのクロスプラットフォームに対応した「.NET Core(1.0〜3.1)」を提供してきました。2020年11月10日(米国時間)に正式リリースが発表された「.NET 5.0(5.0.0)」は、両者の後継となる最新のメジャーリリースです。
.NET 5.0の新機能については、以下のアナウンスおよび各種ドキュメントで確認してください。
- Announcing .NET 5.0[英語](.NET Blog)
- Download .NET 5.0[英語](Microsoft .NET)
Windowsの.NET Frameworkは「4.8」が最終バージョンとなり、今後、このバージョンに対して新機能が追加されることはありません。.NET 5.0はアプリケーション開発および実行環境であるため、エンドユーザーがこの新リリースに対してすぐに何か対応しなければならないということはありません。しかし、近い将来、.NET 5.0以降で作られたローカルのアプリを導入する際、適切なバージョンのランタイムのインストールを要求されることはあるかもしれません。
.NETは「Current」と「Long Term Support(LTS)」の2つのリリースチャネルがあります。.NET Core 3.1はLTSリリース、.NET 5.0はCurrentリリースです。.NET 5.0以降、毎年新しいメジャーリリースが提供され、偶数バージョンはLTSリリースになります。CurrentリリースはLTSリリース後、3カ月間サポートされ、LTSリリースは3年間サポートされます。次のバージョンは2021年11月に予定されているLTSバージョン「.NET 6.0」になります。
- Microsoft .NET Core support lifecycle[英語](GitHub)
App Serviceは新機能「早期アクセス」を通じて.NET 5.0に対応
「Webアプリ」とも呼ばれる「Azure App Service」は、.NET 5.0の正式リリースに合わせて追加された新機能「早期アクセス(Early Access)」で.NET 5.0で開発されたアプリのデプロイと実行に対応します(画面1)。
早期アクセスは、WindowsまたはLinuxの各プラットフォームでサポートされているさまざまな言語のランタイムやSDK(ソフトウェア開発キット)のアップデート、新バージョンを迅速に提供するApp Serviceの新機能です。この新機能により、アプリ開発者はApp Serviceのプラットフォームのリリースサイクル(定期的な機能アップデート)を待たずに、最新のランタイムやSDKのサポートを含む環境を利用できます。
ただし、早期アクセスによるデプロイは、コールドスタートやビルドに伴う、初回起動時間への影響に注意が必要です。
Windowsアプリはアプリの初期化時に必要なランタイムとSDKを「ジャストインタイム(JIT)メカニズム」で取得するため、初回起動時に時間を要します。Linuxアプリは必要なランタイムとSDKを含むコンテナ内で実行されるので、親イメージを取得するために初回起動時に時間を要します。
- What's new in ASP.NET Core 5.0[英語](Microsoft Docs)
Dockerコンテナは.NET 5.0リリースに伴いリポジトリが変更
クラウドベースのアプリ開発では、「Docker」のコンテナ技術を利用したコンテナベースの開発が利用可能です。Microsoft Azureのコンテナ関連のサービスは、LinuxとWindows両方のコンテナプラットフォームに対応しています。
以下のDocker Hubリポジトリでは、2020年11月10日(米国時間)に.NET 5.0のランタイムやSDK、サンプルを含むイメージが利用可能になっており(画面2)、既にAzureのコンテナサービス(App ServiceやAzure Container Instances、Azure Kubernetes Service)、ローカルの「Docker Desktop Community」や「Mirantis Container Runtime(旧称、Docker Enterprise)」のホストにデプロイできます。
- .NET(Docker Hub)
- .NET Runtime(Docker Hub)
- ASP.NET Core Runtime(Docker Hub)
- .NET Samples(Docker Hub)
なお、.NET Coreベースの以前のリポジトリ(microsoft-dotnet-coreなど)は、.NET Core 3.1以前の過去のリリースを含め、上記の新しいリポジトリに移行しました。イメージを指定する際のリポジトリのアドレス変更(旧mcr.microsoft.com/dotnet/core/samplesから新mcr.microsoft.com/dotnet/samplesへの変更など)についても注意してください。
- Breaking Change: .NET Docker Repo Name Change[英語](GitHub)
筆者紹介
山市 良(やまいち りょう)
岩手県花巻市在住。Microsoft MVP:Cloud and Datacenter Management(2020-2021)。SIer、IT出版社、中堅企業のシステム管理者を経て、フリーのテクニカルライターに。Microsoft製品、テクノロジーを中心に、IT雑誌、Webサイトへの記事の寄稿、ドキュメント作成、事例取材などを手掛ける。個人ブログは『山市良のえぬなんとかわーるど』。近著は『Windows版Docker&Windowsコンテナーテクノロジ入門』(日経BP社)、『ITプロフェッショナル向けWindowsトラブル解決 コマンド&テクニック集』(日経BP社)。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- クラウドネイティブな「.NET 5」が既存の.NET Frameworkアプリにもたらすインパクト
既存の.NET Frameworkアプリの.NET 5への移行に関する考慮事項やレガシーアプリのモダナイゼーションについて解説する連載。初回は、.NET統合の現状や.NET 5のリリースにおけるキャッチアップすべきことなどについて。 - Windows 10 May 2020 Update後のWindows Updateに“へん”化あり[その3]
2020年10月初め、Windows 10 May 2020 Update(バージョン2004)に3回目のオプションの更新(Cリリース)が提供されました。過去3回と同様、Windows 10 バージョン1809〜1909から1週間以上(今回は15日)、大幅に遅れての提供です。Windows 10 バージョン2004におけるCリリースのインストール挙動は、やはり何かおかしいです。幾つかのパターンで試してみました。 - Microsoftが「ML.NET 1.5.2」を公開、.NET開発者向け機械学習フレームワーク
Microsoftは、.NET開発者向けのオープンソース機械学習(ML)フレームワークの最新版「ML.NET 1.5.2」を公開した。Model Builderツールで「Azure ML」を使ってオブジェクト検出モデルをトレーニングできるようになった他、ML.NET CLIで画像分類モデルをローカルでトレーニングすることも可能になった。 - クロスプラットフォーム対応の「PowerShell Core 7.0」が正式リリース
Microsoftは2020年3月4日(米国時間)、オープンソースでクロスプラットフォーム対応の「PowerShell Core」の最新バージョン、「PowerShell Core 7.0」を正式にリリースし、一般提供を開始しました。