原文リンク:https://devblogs.microsoft.com/dotnet/announcing-dotnet-7-rc-1/
原文著者:Jeremy Likness、Angelos Petropoulos、Jon Douglas
翻訳:砂漠の果ての狼(Google翻訳による補助)
本日、.NET 7 リリース候補 1 を発表します。これは、本番環境でサポートされる .NET 7 の 2 つのリリース候補 (RC) の最初のものです。
Windows、macOS、Linux 向けの .NET 7 Release Candidate 1 をダウンロードできます。
.NET 7 Release Candidate 1 は、Visual Studio 17.4 Preview 2 でテストされています。Visual Studio ファミリーの製品で .NET 7 を試す場合は、プレビュー チャネル版 の使用をお勧めします。macOS を使用している場合は、最新の Visual Studio 2022 for Mac プレビュー をお勧めします。
.NET Conf 2022 をお忘れなく。2022 年 11 月 8 日から 10 日まで、.NET 7 のリリースを一緒に祝いましょう!
このブログでは、.NET 7 の中心的なトピックに焦点を当て、詳細を深く掘り下げるためのリソースを提供します。
.NET 7 Release Candidate 1 に含まれるすべての機能と改善点の詳細については、以前の .NET 7 Preview ブログ記事をご覧ください。
- Announcing .NET 7 Preview 1
- Announcing .NET 7 Preview 2
- Announcing .NET 7 Preview 3
- Announcing .NET 7 Preview 4
- Announcing .NET 7 Preview 5
- Announcing .NET 7 Preview 6
- Announcing .NET 7 Preview 7
.NET MAUI
.NET マルチプラットフォーム アプリケーション UI (MAUI) は、Android、iOS、macOS、Windows の API を 1 つの API に統合するため、複数のプラットフォームでネイティブに動作するアプリケーションを 1 つ作成できます。.NET MAUI を使用すると、各プラットフォーム (Android、iOS、macOS、Windows、Tizen) 専用に設計された最適なアプリ エクスペリエンスを提供し、豊富なスタイルとグラフィックスで一貫したブランド エクスペリエンスを実現できます。そのままでも、追加のウィジェットやスタイルを必要とせずに、各プラットフォームで期待通りの外観と動作を実現します。
.NET 7 の一部として、.NET MAUI はデバイスとそのプラットフォームをまたがるマルチターゲットを処理するためのプロジェクトを提供します。生産性の向上、ツール、パフォーマンスの強化の詳細については、以下のリソースをご覧ください。
- Introducing .NET MAUI – One Codebase, Many Platforms
- Productivity comes to .NET MAUI in Visual Studio 2022
- Performance Improvements in .NET MAUI
- .NET Conf Focus on MAUI – That’s a wrap!
注: .NET 7 で .NET MAUI を試すための Visual Studio エクスペリエンスは、近日公開予定の 17.4 Preview 2.1 リリースで提供されます。
クラウド ネイティブ
クラウド ネイティブは、クラウド内でアプリケーションを構築し、回復性、スケーラビリティ、効率性、速度を活用するためのベスト プラクティスのセットです。
.NET は、クラウド ネイティブ アプリケーションを構築するための優れた選択肢です。.NET 7 のクラウド ネイティブ機能と改善点の詳細については、以下のリソースをご覧ください。
- Announcing built-in container support for the .NET SDK
- Announcing gRPC JSON transcoding for .NET
- .NET 7 comes to Azure Functions & Visual Studio 2022
ARM64
ARM は、小型サイズ、優れたパフォーマンス、高い電力効率を提供します。
.NET は、ARM デバイス上で動作するアプリケーションの構築を支援します。.NET 7 の ARM64 でのパフォーマンスの詳細については、以下のリソースをご覧ください。
モダナイゼーション
最新バージョンの .NET では、電光石火のパフォーマンスと、開発者の生活の質を向上させる多数の新機能を活用できます。
アップグレード エクスペリエンスを可能な限りシームレスにするために、.NET アップグレード アシスタントは、プロジェクト ファイル、コード ファイル、依存関係を分析およびアップグレードすることで .NET アプリケーションをモダナイズする、ステップバイステップのガイド付きエクスペリエンスを提供します。
.NET 7 がアプリケーションのモダナイゼーションにどのように役立つかの詳細については、以下のリソースをご覧ください。
- Incremental ASP.NET to ASP.NET Core Migration
- Migrating from ASP.NET to ASP.NET Core in Visual Studio
パフォーマンス
.NET は高速です。.NET 7 は現在最速の .NET です。.NET 7 には、リフレクション、階層型コンパイル (OSR)、起動時間、ネイティブ AOT、ループの最適化など、1,000 を超えるパフォーマンスに影響を与える改善が含まれています。
.NET 7 が現在最速のリリースである理由の詳細については、以下のリソースをご覧ください。
コントリビュータースポットライト:Filip Navara
すべてのコミュニティメンバーに大きな「ありがとう」を送ります。皆様の思慮深い貢献に心から感謝しています。コントリビューターの @filipnavara 氏に彼の考えを共有していただきました。

フィリップ自身の言葉を借りれば:
私は幼い頃からコンピューターで遊んでいました。祖父を訪ねたとき、彼が BASIC で仕事をしているのをよく見かけました。彼は工場の自動化ソフトウェアを書いていて、私は彼からすべての技術的なものへの愛情を受け継ぎました。当時、DOS が標準システムであり、Borland がプログラミングツールを支配していました。プログラミングの仕組みを理解し、学びたいと思いました。私は頑固に彼のアドバイスをすべて拒否し、試行錯誤ですべてを自分で学ばなければなりませんでした。それは愚かでしたが、小さなプログラムが生き生きと動くのを見るのは楽しかったです。
徐々に、さまざまな言語でプログラミングを始め、インターネット、そしてオープンソースの世界を探検しました。コンパイラ、オペレーティングシステム、システムエミュレータなどの低レベルのソフトウェアのコーディングが一番好きでした。高校の自由時間には、Wine、ReactOS、QEMU、Binutils、MinGW コンパイラツールセットなどのプロジェクトに貢献しました。
.NET Framework の最初のバージョンが登場したとき、すぐに魅了されました。それは私が慣れ親しんだ Delphi のシンプルさを約束し、C# 言語は本当に楽しく学べました。タイミングも完璧で、友人とメールクライアントアプリケーションを開発する小さなプロジェクトを始め、全員が .NET で構築することに同意しました。そのアプリケーション、eM Client は、大学時代を通じて私を忙しくさせてくれました。今日でもそれは私の現在のプロジェクトです。チームは大きくなりましたが、私の役割は変化し、多くの非常に才能のあるプログラマーが私の負担を軽減してくれています。
.NET のオープンソース化は私たちにとって大きな恩恵であり、多くのことをより簡単にしてくれました。現在、私はもっと趣味のプロジェクトに集中でき、.NET への貢献は自然な選択です。それにより、ハードウェアの低レベルの詳細やオペレーティングシステムの内部から、私たちのメールアプリケーションを構築する高レベルのフレームワークまで、自分の知識を最大限に活用できます。
オープンコードのおかげで、WinForms フレームワークを macOS に移植するプロジェクトを推進できました(Mono コードに基づいていますが、多くの場所で Cocoa ネイティブコントロールを使用しています)。.NET 5 の統合計画が始まったとき、私はより多くの貢献を始めました。私たちにとって、Xamarin.Mac や Mono などの異なるプラットフォームは、Windows で使用している .NET がサポートする機能に関して常に遅れをとっていました。最初は、Mono 基本クラスライブラリのギャップを埋め始めました。それは既に .NET Core と一部のコードを共有していました。この追いつきゲームは最適な解決策ではないことに気づき、CoreCLR 上で Xamarin.Mac を実行するなどの他のオプションを探り始めました。それはちょうど、最初の MonoVM(.NET 5+ の Mono ランタイム)のコミットが書かれる数日前に起こりました。何が起こっているのかを認識すると、私はその計画に加わりました。これらすべての作業は GitHub で隠されており、数ヶ月後に Build カンファレンスで公式発表が行われました。進捗を見るのは刺激的で、この初期の統合 MonoVM ランタイム上で動作する独自の Xamarin ランタイムビルドを構築し、最初の UI を表示しました。最終的には、メールクライアントアプリケーションも起動しました。これは本当に状況を一変させました。古い .NET Framework を使用していたときは、新しい機能がリリースされてもすぐに使用できませんでした。新しいバージョンの展開には数年かかりました。今は逆の立場で、他の人よりも先に進んでいます!
このランタイム統合作業は成功裏に終了し、最新の .NET 6 を搭載したアプリケーションをお客様にリリースしました。しかし、.NET にはまだ改善すべき点が多く、.NET チームの人々と一緒に仕事をするのが好きです。私は各リリースで少なくとも 1 つのマイナー機能を推進しようとしています。.NET 6 では、iOS の暗号化スタックを正常に動作させることに集中しました。.NET 7 では、ネットワークチームの多大な助けを借りて、Negotiate/Kerberos/NTLM 認証を処理する API に挑戦しました。それは非常に魅力的でも可視的でもない機能ですが、長期的な技術的負債です。単体テストや機能テストでコードが不足していました。ASP.NET は内部をリフレクションでアクセスしており、NativeAOT に優しくありません。そして最も重要なのは、ライブラリの作成者がシンプルな公開 API の欠如を補うために複雑なアプローチを使用せざるを得なかったことです。
私は将来もっと多くの貢献ができることを心から願っており、他のコントリビューターが自分の興味のある分野を見つけ、プラットフォーム全体をすべての人にとってより良いものにすることを楽しみにしています!
サポート
.NET 7 は長期サポート (LTS) リリースではないため、リリース日から 18 か月間、無料のサポートとパッチが提供されます。すべてのリリースの品質が LTS と同等であることに注意することが重要です。唯一の違いはサポート期間の長さです。.NET のサポートポリシーの詳細については、.NET および .NET Core の公式サポートポリシー を参照してください。
ロードマップ
.NET リリースには、製品、ライブラリ、ランタイム、ツールが含まれており、マイクロソフト内外の複数のチーム間のコラボレーションを表しています。製品ロードマップを読むことで、これらの領域についてさらに詳しく知ることができます。
おわりに
.NET へのすべてのサポートと貢献に 感謝 いたします。.NET 7 Release Candidate 1 をお試しいただき、ご意見をお聞かせください!