.NET Core 2.2.0がリリースされました
2018年12月4日、「.NET Core 2.2.0」がリリースされました。リリース情報
「.NET Core 2.2.0」のリリース情報です。- リリースアナウンス:Announcing .NET Core 2.2
- リリースノート:.NET Core 2.2.0 - December 04, 2018
- ダウンロードとインストール:.NET Core 2.2.0
- 既知の問題:.NET Core 2.2 Known Issues
- 不具合報告:.NET Core 2.2.0
- サポートポリシー:.NET Core 2.2 - Supported OS versions
「.NET Core 2.2.0」では、以下のコンポーネントがリリースされています。
- .NET Core Runtime 2.2.0
- ASP.NET Core 2.2.0
- .NET Core SDK 2.2.100
deb版.NET Core 2.2.0を利用可能なUbuntuのバージョン
現時点でdeb版「.NET Core 2.2.0」を利用可能な「Ubuntu」のバージョンは、以下の通りです。- Ubuntu 14.04
- Ubuntu 16.04
- Ubuntu 18.04
- Ubuntu 18.10
「Ubuntu 18.04」以降のバージョンは、64bit版(amd64)とARM32bit版が対象です。
それ以外は64bit版(amd64)のみが対象です。
またSnap版「.NET Core」も利用可能です。
ドキュメント
「.NET Core」に関するドキュメントです。- Learn about .NET Core
- .NET Core Roadmap
- Learn how about the .NET platform
- .NET Core release notes
- .NET Core Announcements
- .NET Core blog
.NET Coreのサポートポリシー
「.NET Core」のサポートポリシーに関する情報は、以下を参照してください。.NET Core 2.2の新機能
「.NET Core 2.2」の新機能の紹介です。1.Tiered Compilationがデフォルトで無効に
「.NET Core 2.2.0 Preview 2」から「Tiered Compilation(階層化コンパイル)」がデフォルトで有効になりした。「Tiered Compilation」により、アプリ実行時のパフォーマンス向上に期待できます。
しかし安定版「.NET Core 2.2.0」(今回のリリース)では、再度デフォルトで「Tiered Compilation」が無効化されています。
デフォルトでの有効化は、「.NET Core 3.0」まで持ち越しとなります。
2.ランタイムイベントのサポート
アプリケーション実行時、「GC」や「JIT」、現在のプロセスのスレッドプールといったランタイムサービスの振る舞いを監視したいことがあるでしょう。「Windows」ではこれは、「ETW」を使用し、現在のプロセスの「ETW」イベントを監視することで実現されています。
しかし「Linux」や「macOS」で「ETW」の使用は困難です。
「.NET Core 2.2.0」では「EventListener」クラスを利用し「CoreCLR」イベントを捕捉できるようになりました。
「CoreCLR」イベントは「GC」や「JIT」、スレッドプール及び「interop」の振る舞いを表すイベントです。
「CoreCLR」イベントは「Windows」の「CoreCLR ETW」プロバイダーで提供されている一部のイベントと同じイベントです。
以下のサンプルコードは、「CoreCLR」イベントを捕捉するコードです。
3.SqlConnectionがAccessTokenをサポート
「SQL Server」向け「ADO.NET」プロバイダーでは、「Azure Active Directory」を利用して「SQL Server」への接続を認証するため、「AccessToken」プロパティーの設定がサポートされました。この機能を利用するために「Active Directory Authentication Library for .NET」を使用してアクセストークンを取得できるようになりました。
「Active Directory Authentication Library for .NET」は「Microsoft.IdentityModel.Clients.ActiveDirectory」NuGetパッケージに含まれています。
以下のサンプルコードは、「Azure Active Directory」を利用して「SQL Server」への接続するコードです。
この機能の詳細は、以下を参照してください。
- AzureAD/azure-activedirectory-library-for-dotnet
- Microsoft identity platform (Azure Active Directory for developers)
4.Mainメソッドの前にコードの注入が可能に
「Startup Hook」を経由してアプリケーションの実行時に呼ばれる「Main」メソッドより前にコードを注入できるようになりました。この機能を利用するとアプリをデプロイした後にアプリの振る舞いをカスタマイズすることができます。
「AssemblyLoadContext」といった「Main」エントリーポイントの読み込みに影響を及ぼすような設定やポリシーのカスタマイズが可能であり、環境に応じた振る舞いの変更が可能です。
詳細は以下を参照してください。
internal class StartupHook { public static void Initialize() { AssemblyLoadContext.Default.Resolving += SharedHostPolicy.SharedAssemblyResolver.LoadAssemblyFromSharedLocation; } } namespace SharedHostPolicy { class SharedAssemblyResolver { public static Assembly LoadAssemblyFromSharedLocation(AssemblyLoadContext context, AssemblyName assemblyName) { string sharedAssemblyPath = // find assemblyName in shared location... if (sharedAssemblyPath != null) return AssemblyLoadContext.Default.LoadFromAssemblyPath(sharedAssemblyPath) return null; } } }
5.Windows ARM32のサポート
「ARM32」向け「Windows」のサポート作業が行われています。2019年1月リリース予定の「.NET Core 2.2.1」でこのサポートが提供される予定です。
.NET Core 2.2.0をインストールするには
deb版.NET Coreをインストールするには
deb版「.NET Core 2.2.0」をインストールする方法は、以下を参照してください。次回以降「ソフトウェアの更新」からアップデートできるようになります。
Snap版.NET Coreをインストールするには
Snap版「.NET Core 2.2.0」をインストールする方法は、以下を参照してください。次回以降自動的にアップデートされるようになります。