12月4日にASP.NET Core 2.2がリリースされ 、.NET Core 2.2の供給に含まれています。 私は最近 .NET Core 2.2について書いたので、今度はこのトピックを詳細に拡張する必要があります。 新しいものが準備されているのを見てみましょう。
入手先
.NET Core SDK(2.2.100)は、通常の場所からダウンロードして、開発マシンとサーバーの両方で使用できます。 新しいWindows Serverホスティング、ランタイムインストーラー、サーバーを更新するためのバイナリアーカイブが利用できます。
このリリースでは、 .NET Core 、ASP.NET Core、およびEntity Framework Coreをバージョン2.2.0に更新します 。 SDKの新しいバージョンは2.2.100です。 Visual Studioのバージョンに関する次の要件は次のとおりです。
- Visual Studioバージョン2017 15.9以降
- Visual Studio for Macバージョン7.7以降
- Visual Studio Code C#拡張バージョン1.17.1以降
12月4日にリリースされたVisual Studio 2019 16.0 Preview 1では、オプションで.NET Core SDK 2.2.100に接続できます。
新機能
ASP.NET Coreのこのリリースの主なアイデアは、Web / HTTP APIに特に重点を置いて、開発者の生産性とプラットフォーム機能を改善することです。 いつものように、パフォーマンスの面倒もみました。 これらの機能については、以前のリリースのフレームワークですでに記述しているため、リンクの詳細な説明を読むことができます。
- 特別なコードアナライザーを使用してコードを記述する段階でのチェックを含む、一般的なOpen APIライブラリ(Swagger)との統合の改善
- エンドポイントルーティングにより、MVCのルーティング速度が20%増加します
-
LinkGenerator
クラスを使用したLinkGenerator
生成の改善とパラメータートランスフォーマールーティングのサポート (さらにScott Hanselmanによる投稿 ) - アプリケーションヘルスモニタリング用の新しいヘルスチェックAPI
- 同じプロセス内でのホスティングにより、IISのパフォーマンスが最大400%向上
- MVCモデルの検証パフォーマンスが最大15%向上
- MVCの問題詳細(RFC 7807)のサポート。APIで詳細なエラー結果を取得できます。
- ASP.NET CoreのHTTP / 2サーバーのプレビュー
- Bootstrap 4およびAngular 6のテンプレートの更新
- ASP.NET Core SignalRのJavaクライアント
- LinuxではHTTPクライアントのパフォーマンスの最大60%、Windowsでは最大20%
翻訳者注 :すべてのリンクは英語の元のソースにつながります。 これをHabré用に翻訳したものを見たい場合は、コメントに書いてください!
BeatPulseとヘルスチェックの統合
BeatPulseプロジェクトは、新しいHealth Checks APIをサポートするようになりました。 実際、多くの一般的なシステムおよび依存関係と互換性のあるチェックをすばやく簡単に追加できるようになり、BeatPulseでのサポートは優れています。 BeatPulseが新しいHealth Checks APIについて次のように述べています。
「BeatPulseは、アプリケーション、ネットワーク、およびSQL Server、MySQL、PostgreSQL、Redis、Kafkaなどの企業でよく見られるさまざまなサービスにヘルスチェックメカニズムを提供するように設計されたコミュニティ主導のプロジェクトです。 Microsoftがリリース2.2ロードマップでASP.NET Core Health Checkを発表したとき、BeatPulseチームは、 AspNetCore.Diagnostics.HealthChecksリポジトリからのMicrosoft Health Checks抽象化に、そのようなチェックに関連する既存のパッケージと機能をすべて移植しました。 さらに、BeatPulseチームは、心拍数モニタリング(Application InsightsおよびPrometheus)、クラッシュメッセージ、UIなどのその他の機能を追加しました。これらの機能では、モニタリングパラメータを設定し、システムヘルスのステータスを含むグローバル画面を見ることができます。 このUIは、Docker Hubで公開されるDockerイメージとして配布されます。
次は何ですか
ASP.NET Core 2.2の計画が発表された後、IdentityServer4を介した承認のためのAPI、Open API(Swagger)のクライアントコード生成、HTTP REPLのコマンドラインユーティリティなど、上記のリストにないいくつかの機能が公開されました。 これらの機能はまだ開発中であり、リリースの準備ができていません。 それでも、今後数か月以内にアドオンとして完成させて公開したいと考えています。 準備が整いましたので、しばらくお待ちください。事前に感謝いたします。
ASP.NET Core 2.2に移行する方法
ASP.NET Coreプロジェクトを2.1から2.2に移行するには、対応するプロジェクトのcsprojファイルを開き、 TargetFramework
値をnetcoreapp2.2
変更します。 .NET Framework 4.xをターゲットにしている場合は、そうすべきではありません。
最後に、最新の安定バージョンに合わせてNuGetパッケージへのリンクを更新する必要があります。 .NET Coreをターゲットとするプロジェクト(.NET Frameworkとは異なります)は、 Microsoft.AspNetCore.App
パッケージのバージョンを示すべきではありません。この接続はSDK自体によって自動的に制御されるためです。 これを行うと、ビルド時に警告が表示されます。
ASP.NET Core 2.2へのアップグレードの詳細については、こちらをご覧ください 。
ライフサイクルをサポート
ASP.NET Core 2.2は、現在のリリーストレーナーの最新リリースです。 これは、2.1 LTSのリリース以来の最初のリリースであり、LTSとCurrentトレインの違いを発表しています。 Current Trainは、最新の機能、改善、および定期的なバグ修正が適用される場所であり、ほとんどのユーザーに推奨されます。 LTSとCurrentの両方がサービスセキュリティアップデートと重要な安定性アップデートを受信することに注意してください。 2.2は、2.xラインのライフサイクルにおける最後の非サービスアップデートであり、LTSを使用したくないお客様は、2019年後半のリリース後3か月以内に3.0 GAに移行する必要があると想定できます。彼らはサポートなしで放置される危険があります。
.NET Coreサポートポリシーの詳細については、こちらをご覧ください 。
Azure App Serviceを介した可用性
.NET Core 2.2 SDK、.NETランタイム、およびASP.NET Core用の更新されたIISモジュールは現在、世界中のAzure App Serviceにデプロイされています。 このプロセスは2018年12月末までに完了したいと考えています。
一部の地域では、IISモジュール(ANCM)を更新する前に更新されたランタイムを受け取る場合があります。これは、ASP.NET Core 2.2を対象とするプロジェクトにデフォルトで必要です。 さらに、新しいインプロセスホスティングの基本的な要件です。 Azure App Serviceにデプロイした後にスタートアップエラーが発生した場合は、既存のバージョンのANCMを使用するようにプロジェクトを設定してみてください。これは、 AspNetCoreModule
プロパティを " AspNetCoreModule
"に設定することでAspNetCoreModule
ます。
<PropertyGroup> <TargetFramework>netcoreapp2.2</TargetFramework> <AspNetCoreModuleName>AspNetCoreModule</AspNetCoreModuleName> <AspNetCoreHostingModel>OutOfProcess</AspNetCoreHostingModel> </PropertyGroup>
ターゲット領域がANCMの最新バージョンに更新されるとすぐに、これらのプロパティをどこからでも削除し、アプリケーションを再デプロイできます。その結果、ANCMの最新バージョンを使用します。
このリリースでは、とりわけ、.NET Core用のAzure App Serviceで64ビットアーキテクチャのサポートが追加されています。 インプロセスホスティングを有効にした.NET Core 2.2でASP.NET Coreアプリケーションを実行する場合、Azure Portalで「64ビット」オプションを有効にするだけで、サイト全体が64ビットプロセスで実行を開始できます。 他の構成のAzure App Serviceでの64ビットプロセスでのASP.NET Coreアプリケーションの操作に関する追加情報は、別の記事に記載されています 。
フィードバック
いつものように、 https://github.com/aspnet/AspNetCoreにロバの形でフィードバックを残してください 。 これは重要です!
翻訳者のメモ :Habréのコメントに何か書いておくといいでしょう。 これは重要です!
1月1日からのDotNextのチケットの価格が上がることを忘れないでください。 個人-1000人、標準-2000人。 アーリーバードに関する詳細はサイトにあります 。