マイクロソフトがリリースを発表 プラットフォームの新しいバージョン 「.NET7」 これには、RyuJIT JIT コンパイラ、API 仕様、WPF ライブラリ、およびその他のツールを使用したランタイムが含まれます。
さらに、ASP.NET Core 7.0 Web アプリケーション、Entity Framework Core 7.0 ORM レイヤー、WPF 7 (Windows Presentation Foundation) ライブラリ、GUI 開発用 Windows Forms 7 フレームワーク、Orleans プラットフォーム。
.NET 7 の新機能
この新しいバージョンでは、基本クラス ライブラリ (BCL、基本クラス ライブラリ) さまざまなアプリケーションで使用できるように統一されています。 デスクトップ システム、Web アプリケーション、クラウド プラットフォーム、モバイル アプリケーション、ゲーム、組み込みプログラム、機械学習システム用のプログラムが含まれます。 共通の SDK、ランタイム、および一連のライブラリを使用して、さまざまな種類のアプリケーションを開発できます。
これに加えて、次のことも強調されています アプリケーションを .NET 7 バージョン互換 API にバインドする機能を提供 「net7.0」ターゲットフレームワーク定義を介して、「 net7.0 ». プラットフォーム固有の API にバインドするには、「net7.0-android」を指定するなど、ターゲットを指定するときにプラットフォーム タイプを指定できます。
また ARM64 アーキテクチャのサポートの改善を強調 x86 アーキテクチャと ARM64 アーキテクチャの両方で実行する場合に、.NET アプリケーションのパフォーマンスを同等にするための作業を継続しました。 ARM3 システムでの実行時の L64 キャッシュ効率が向上しました。 LSE 命令を使用して並列スレッド メモリ アクセスをフェンスすることで、レイテンシを 45% 削減します。
ライブラリは、Vector64、Vector128、および Vector256 ベクター型を使用するドライバーを追加しましたEncodeToUtf8 および DecodeFromUtf8 関数はベクトル命令に基づいて書き直され、パフォーマンスが最大 60% 向上しました (NarrowUtf16ToAscii および GetIndexOfFirstNonAsciiChar 関数の場合、パフォーマンスの向上は 35% に達します)。. 全体として、ARM64 プラットフォームでのテスト パス速度は 10 ~ 60% 向上しました。
一方で、また .NET 6 を使用したパッケージの追加など、Linux サポートの強化が強調されています。 Ubuntu 22.04 のストック リポジトリに追加され、.NET ベースのアプリケーションを含むコンテナーを迅速にデプロイするための、最適化されたコンパクトなすぐに使用できる Docker イメージが提供されます。
.NET Upgrade Assistant を導入して、古いアプリケーションをブランチに簡単に移行できるようにしました .NET 6 または .NET 7。新しいバージョンでは、ASP.NET アプリケーションを ASP.NET Core に移植するためのサポートが拡張され、WinForms、WPF、およびクラス ライブラリ用のコード パーサーとチェッカーが追加され、ファイル解析実行可能ファイルのサポートが実装され、UWP のサポートが追加されました。 (ユニバーサル Windows プラットフォーム)。
数学関数の汎用インターフェースが提案されている また、仮想インターフェイスで静的要素を定義する可能性が提供され、値の型に関する正確な情報がなくても、汎用プログラミング メソッドを適用して数学演算を実行できました。
JIT コンパイラでのパフォーマンスも向上し、 追加されることに加えて OSR メカニズムのサポート (スタック置換時) 既に実行中のメソッドのコードを変更し、現在の呼び出しが完了するのを待たずに、完了するまでに時間がかかるメソッドの最適化を実行できるようにします (TechEmpower テストでは、10-30最初のリクエストを処理するパフォーマンスが 10 ~ 30% 向上します)。
の その他の変更 目立つ:
- 自己完結型の実行可能ファイル (ネイティブ AOT) へのコンパイルのサポートが追加されました。この場合、最初にプロジェクト全体が中間コードや JIT を使用せずにネイティブ ターゲット プラットフォーム コードにコンパイルされます。
- .NET SDK は、提供されたプロジェクト テンプレートの使用を制限する機能を実装しています。 たとえば、テンプレートが有効なオペレーティング システムを特定できます。
- NuGet には、複数のプロジェクトの依存関係を一度に管理できる集中パッケージ管理モードが追加されました。
最後に あなたがそれについてもっと知りたいのなら、詳細を確認できます 次のリンクで。
関心のある方は、.NET SDK 7、.NET ランタイム 7、および ASP.NET Core ランタイム 7 のビルドが Linux、macOS、および Windows 用にビルドされていることを知っておく必要があります。 .NET デスクトップ ランタイム 6 は、Windows でのみ使用できます。