.NET 6.0 RPM パッケージのリリースノート

.NET 6.0

リリースノート

概要

.NET 6.0 RPM パッケージのリリースノートでは、.NET 6.0 プラットフォームを構成する機能と、本リリースにおける既知の問題を説明します。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社 の CTO、Chris Wright のメッセージ を参照してください。

Red Hat ドキュメントへのフィードバック (英語のみ)

ご意見ご要望をお聞かせください。ドキュメントの改善点はございませんか。改善点を報告する場合は、以下のように行います。

  • 特定の文章に簡単なコメントを記入する場合は、以下の手順を行います。

    1. ドキュメントの表示が Multi-page HTML 形式になっていて、ドキュメントの右上端に Feedback ボタンがあることを確認してください。
    2. マウスカーソルで、コメントを追加する部分を強調表示します。
    3. そのテキストの下に表示される Add Feedback ポップアップをクリックします。
    4. 表示される手順に従ってください。
  • より詳細なフィードバックを行う場合は、Bugzilla のチケットを作成します。

    1. Bugzilla の Web サイトにアクセスします。
    2. Component で Documentation を選択します。
    3. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも記入してください。
    4. Submit Bug をクリックします。

第1章 可用性

Red Hat は、.NET を配布しています。このディストリビューションを使用すると、開発者は C#、Visual Basic、および F# 言語でアプリケーションを作成し、それを Red Hat Enterprise Linux (RHEL)、Red Hat OpenShift Container Platform などのプラットフォームにデプロイできます。コンテナー開発用のツールスイートを含む、無料の Red Hat Enterprise Linux Developer サブスクリプション をご利用いただけます。

  • Red Hat Enterprise Linux 7 では、.NET 6.0 は以下のレポジトリーの RPM rh-dotnet60 として利用できます。

    • RHEL 7 Server: rhel-7-server-dotnet-rpms
    • RHEL 7 Workstation: rhel-7-workstation-dotnet-rpms
    • RHEL 7 HPC: rhel-7-hpc-node-dotnet-rpms

    Red Hat Enterprise Linux 7 に .NET 6.0 をインストールする方法は、『 RHEL 7 の .NET の使用ガイド』を 参照してください。

  • Red Hat Enterprise Linux 8 では、.NET 6.0 は AppStream リポジトリーの RPM dotnet-sdk-6.0 として利用できます。AppStream リポジトリーは、RHEL 8 でデフォルトで有効になっています。
  • .NET 6.0 は、Red Hat Enterprise Linux 8 および OpenShift Container Platform の aarch64s390x、および x86_64 アーキテクチャーで利用できます。

    RHEL 8 に .NET 6.0 をインストールする方法は、『Getting started with .NET on RHEL 8』を参照してください。

第2章 概要

.NET は、自動メモリー管理と最新のプログラミング言語を備えた .NET の汎用、モジュラー、クロスプラットフォーム、およびオープンソース実装です。これにより、ユーザーは高品質のアプリケーションを効率的に構築できます。.NET は、RHEL 7、RHEL 8、RHEL 9 で利用できます。

.NET 6.0 は長期サポート (LTS) リリースです。LTS リリースは通常、約 3 年間サポートされます。詳細は、「Life Cycle and Support Policies for the .NET Program」を参照してください。

.NET は以下を提供します。

  • マイクロサービスベースのアプローチに従う機能。一部のコンポーネントは .NET で構築され、他のコンポーネントは Java で構築されますが、すべては RHEL でサポートされている共通のプラットフォームで実行できます。
  • Microsoft Windows で新しい .NET ワークロードをより簡単に開発する能力。RHEL または Windows Server のいずれかにデプロイして実行できます。
  • 異機種環境のデータセンター。基盤となるインフラストラクチャーが Windows Server にのみ依存することなく .NET アプリケーションを実行できます。

第3章 機能および利点

3.1. 現在の機能および利点

.NET 6.0 には、以下の機能と利点があります。

  • ランタイムライブラリーおよびフレームワークライブラリー

    .NET は、ランタイムとフレームワークライブラリー、コンパイラー、ビルドツール、NuGet パッケージを取得するツール、すべてを連携させるコマンドラインインターフェースで構成されます。次の利点があります。

    • 自動メモリー管理
    • タイプの安全性
    • 委譲と lambda
    • 汎用型
    • 言語統合クエリー (LINQ)
    • Async プログラミング
    • ネイティブの相互運用性
    • ソースジェネレーター
  • .NET 6.0では、ASP.NET Core 6.0 と EF Core 6.0 を使用したアプリケーションの開発がサポートされており、以下のようなメリットがあります。

    • 軽量およびモジュール式 HTTP 要求パイプライン
    • 独自のプロセスで Web サーバーまたはセルフホストでホスト可能
    • .NET 上に構築。実際のサイドバイサイドのアプリケーションのバージョン管理をサポートします。
    • NuGet パッケージの作成および使用の統合サポート
    • Web UI および Web API の単一調整 Web スタック
    • クラウド対応の環境ベースの設定
    • 依存関係インジェクションの組み込みサポート
    • 最新の Web 開発を簡素化するツール

3.2. 新機能および利点

64 ビット Arm (aarch 64)、IBM Z、および LinuxONE (s390x) のサポート

  • .NET 6.0 では、Red Hat Enterprise Linux 8 で実行されている 64 ビット Arm のサポートが導入されました。
  • .NET 6.0 では、Red Hat Enterprise Linux 8 および OpenShift Container Platform 4.2 以降で実行されている IBM Z および LinuxONE のサポートが導入されました。

.NET 6.0 では、オープンソース環境のアプリケーション開発のサポートおよびツールを引き続き拡張されます。.NET の最新バージョンには、以下の改善点が含まれています。

  • C# 10 のサポート
  • F# 6 のサポート
  • 単一ファイルソースプログラム
  • ベースライブラリー、GC、および JIT におけるパフォーマンスの向上
  • ロギングおよび JSON のソースジェネレーター
  • dotnet-monitor を使用した診断の改善

第4章 サポート対象のオペレーティングシステムおよびアーキテクチャー

.NET 6.0 は、Red Hat Enterprise Linux 8 以降の x86_64aarch64、および s390x で利用できます。

表4.1 .NET 6.0 のサポートされるデプロイメント環境

プラットフォームアーキテクチャーRPMリポジトリー

Red Hat Enterprise Linux 7

AMD64 および Intel 64 (x86_64)

rh-dotnet60

Red Hat Enterprise Linux 7 Server:

rhel-7-server-dotnet-rpms

Red Hat Enterprise Linux 7 Workstation:

rhel-7-workstation-dotnet-rpm

Red Hat Enterprise Linux 7 HPC:

rhel-7-hpc-node-dotnet-rpms

Red Hat Enterprise Linux 8

AMD64 および Intel 64 (x86_64)

IBM Z および LinuxONE (s390x)

64 ビット Arm (aarch64)

dotnet-sdk-6.0

Appstream

注記: AppStream リポジトリーは、Red Hat Enterprise Linux 8 ではデフォルトで有効になっています。

Red Hat Enterprise Atomic Host

AMD64 および Intel 64 (x86_64)

  

OpenShift Container Platform 3.11 以降

AMD64 および Intel 64 (x86_64)

  

OpenShift Container Platform 4.2 以降

IBM Z および LinuxONE (s390x)

  

第5章 カスタマープライバシー

さまざまな Microsoft 製品には、ネットワーク上の使用状況の統計、解析、およびその他のメトリックを Microsoft に報告する機能があります。Microsoft では、これをテレメトリーと呼びます。Red Hat は、明示的に許可しなくてもお客様に顧客データを送信することを推奨しないため、テレメトリーを無効にしています。

第6章 サポート

Red Hat と Microsoft は、.NET への優れたサポートを提供しており、連携して Red Hat 対応プラットフォームで発生した問題を解決しています。Red Hat は、Red Hat Enterprise Linux (RHEL) における .NET コンポーネントのインストール、設定、実行をサポートします。また、Red Hat は、NuGet アクセスの問題、パーミッションの問題、ファイアウォール、およびアプリケーションの質問で対応できる問題に対して「商業的に妥当な」サポートを提供することもできます。問題が .NET の不具合または脆弱性である場合は、Microsoft と協力して解決します。

.NET 6.0 は、RHEL 7、RHEL 8、RHEL 9、および Red Hat OpenShift Container Platform バージョン 3.3 以降でサポートされます。

.NET サポートポリシーの詳細は、.NET Core Life Cycle を参照してください。

6.1. 連絡先オプション

.NET の使用方法に応じて、サポートを受ける方法は複数あります。

統合サポートは、Red Hat と Microsoft 間のサポート契約です。Microsoft Azure で Red Hat 製品をお使いのお客様は相互のお客様であるため、Microsoft と Red Hat の両方で最適なトラブルシューティングとサポートエクスペリエンスを提供することができます。

  • IBM Z および LinuxONE で .NET を使用している場合は、Red Hat サポート にお問い合わせください。お客様のケースに割り当てられている Red Hat サポートエンジニアが IBM からの支援を必要としている場合は、Red Hat サポートエンジニアは、IBM と直接連携します。お客様側では、なにもしていただく必要はありません。

6.2. よくある質問 (FAQ)

以下は、統合サポートにおける最も一般的なサポート質問の 4 つです。

  1. 統合サポートにアクセスするのはいつですか?

    Red Hat サポート を直接お使いいただけます。お客様のケースに割り当てられている Red Hat サポートエンジニアが Microsoft からの支援を必要としている場合は、Red Hat サポートエンジニアは、Microsoft と直接連携します。お客様側では、なにもしていただく必要はありません。同様に、Microsoft 側では Red Hat サポートエンジニアと直接連携するプロセスがあります。

  2. サポートケースを提出した後には、どのようなことが発生しますか?

    Red Hat サポートケースが作成されると、Red Hat サポートエンジニアがケースに割り当てられ、Microsoft サポートエンジニアとお客様に対応させていただき、問題に対処します。問題への対応は、Red Hat の製品サポートサービスレベルアグリーメントに基づいて行われることをご了承ください。

  3. さらなるサポートが必要な場合は?

    ケースの作成またはこのプロセスに関する質問については、Red Hat サポート にお問い合わせください。ここで、開いているケースのいずれかを表示できます。

  4. Azure プラットフォームの問題のサポートについて Microsoft についてどのようなサポートを提供していますか?

    Microsoft のサポートをお持ちの場合は、通常実施するプロセスを使用してケースを作成することができます。Microsoft のサポートをお持ちでない場合は、常に Microsoft サポートからサポートを受けることができます。

6.3. その他のサポートリソース

Red Hat DevelopersResources ページには、以下を含むさまざまな情報が提供されています。

  • ドキュメントの使用
  • ナレッジベースのアーティクルおよびソリューション
  • ブログ投稿

.NET ドキュメントは、Microsoft の Web サイトでホストされています。以下で考察するトピックをいくつか紹介します。

Red Hat および Microsoft Azure Certified Cloud & Service Provider Support Policies で、サポートポリシーの情報を確認することもできます。

第7章 既知の問題

Red Hat Enterprise Linux (RHEL) で .NET を実行するための既知の問題は次のとおりです。

以前のバージョンの RHEL では動作しません。

  1. dotnet dev-certs https --trust は RHEL では機能しません。

    .NET は、dotnet dev-certs https による HTTPS 証明書の作成をサポートしますが、dotnet dev-certs https --trust による信頼はサポートしていません。curl や Firefox などの ASP.NET Core アプリケーションに接続するクライアントは、信頼できない自己署名証明書について警告します。Firefox などのブラウザーでこれを回避するには、警告を無視し、信頼できない証明書に関する警告が表示されたときに証明書を明示的に信頼します。コマンドラインツールは、信頼できない証明書を無視するフラグをサポートします。curl には、--insecure フラグを使用します。wget には、--no-check-certificate フラグを使用します。

  2. nuget.org にはs390xの NuGet パッケージはありません。

    rhel.8-s390x または linux-s390x ランタイム識別子を使用すると、これらのパッケージを取得しようとする一部の dotnet コマンドが失敗することがあります。これらのコマンドは、他の既知の問題で説明されているように s390x で完全にサポートされていないか、ランタイム識別子を指定しないことで問題を修正できます。

  3. s390x では、単一ファイルのアプリケーションはサポートされていません。
  4. PublishReadyToRun/crossgen は s390x ではサポートされていません。
  5. s390x の .NET 6.0 は、コンテナーのメモリーおよび CPU 制限を認識しません。

    このような環境では、.NET 6.0 がコンテナーに割り当てられた以上のメモリーを使用しようとする可能性があり、OpenShift Container Platformでコンテナーが強制終了または再起動される原因となります。回避策として、環境変数 MONO_GC_PARAMS=max-heap-size=<limit> を使用してヒープ制限を手動で指定することができます。コンテナーに割り当てられたメモリーの 75% に上限を設定する必要があります。たとえば、コンテナーのメモリー制限が 300MB の場合には、MONO_GC_PARAMS=max-heap-size=225M を設定します。

  6. テストプロジェクトテンプレート (xunitnunitmstest) の Microsoft.NET.Test.Sdk パッケージのデフォルトバージョンは s390x では使用できません。テストをビルドまたは実行しようとすると「System.NotSupportedException: Specified method is not supported」例外により失敗します。

    s390x でテストを実行する場合は、Microsoft.NET.Test.Sdk パッケージのバージョンを 17.0.0 以上に更新します。

  7. Visual Studio Code などの IDE によって使用される言語サーバーである OmniSharp は、s390x では使用できません。