RHEL 9 で .NET を使い始める


.NET 9.0

RHEL 9 での .NET 9.0 のインストールおよび実行

Red Hat Customer Content Services

概要

このガイドでは、RHEL 9 に .NET 9.0 をインストールして実行する方法を説明します。

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

Red Hat ドキュメントに関するご意見やご感想をお寄せください。また、改善点があればお知らせください。

Jira からのフィードバック送信 (アカウントが必要)

  1. Jira の Web サイトにログインします。
  2. 上部のナビゲーションバーで Create をクリックします。
  3. Summary フィールドにわかりやすいタイトルを入力します。
  4. Description フィールドに、ドキュメントの改善に関するご意見を記入してください。ドキュメントの該当部分へのリンクも追加してください。
  5. ダイアログの下部にある Create をクリックします。

第1章 .NET 9.0 の概要

.NET は、自動メモリー管理と最新のプログラミング言語を備えた汎用開発プラットフォームです。.NET を使用することで、ユーザーは高品質のアプリケーションを効率的に構築できます。.NET は、認定済みのコンテナーを介して Red Hat Enterprise Linux (RHEL) および OpenShift Container Platform で利用できます。

.NET には次の機能があります。

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

第2章 .NET 9.0 のインストール

.NET 9.0 は、RHEL 9 の AppStream リポジトリーに含まれています。AppStream リポジトリーは、RHEL 9 システムでデフォルトで有効になっています。

.NET 9.0 ランタイムは、最新の 9.0 Software Development Kit (SDK) でインストールできます。.NET 9.0 用の新しい SDK が利用可能になったら、sudo dnf install を実行してインストールできます。

前提条件

手順

  • .NET 9.0 とそのすべての依存関係をインストールします。

    $ sudo dnf install dotnet-sdk-9.0 -y

検証

  • インストールを確認します。

    $ dotnet --info

    出力は、.NET インストールおよび環境の関連情報を返します。

第3章 .NET 9.0 を使用したアプリケーションの作成

C# "Hello World" アプリケーションを作成する方法を学びます。

手順

  1. my-app という名前のディレクトリーに、新しい Console アプリケーションを作成します。

    $ dotnet new console --output my-app
  2. プロジェクトを実行します。

    $ dotnet run --project my-app

    返される出力は以下のとおりです。

    Hello World!

第4章 .NET 9.0 でのアプリケーションの公開

.NET 9.0 アプリケーションを公開して、共有されたシステム全体で使用される .NET を使用するか、.NET を追加できます。

.NET 9.0 アプリケーションを公開するには、以下の方法があります。

  • SCD (自己完結型デプロイメント): アプリケーションには .NET が含まれます。この方法では、Microsoft が構築したランタイムを使用します。
  • フレームワーク依存デプロイメント (FDD): アプリケーションは、共有されたシステム全体の .NET バージョンを使用します。
注記

RHEL にアプリケーションを公開する場合、Red Hat では FDD を使用することを推奨しています。これは、アプリケーションが、Red Hat が構築した最新バージョンの .NET を使用していることを保証するためです。これは、特定のネイティブ依存関係のセットを使用します。

前提条件

4.1. .NET アプリケーションの公開

以下の手順では、フレームワーク依存アプリケーションを公開する方法を概説します。

手順

  1. フレームワーク依存アプリケーションを公開します。

    $ dotnet publish my-app -f net9.0

    my-app は、公開するアプリケーションの名前に置き換えます。

  2. 任意: アプリケーションが RHEL 専用の場合は、次のコマンドを使用してその他のプラットフォームに必要な依存関係を削除します。

    $ dotnet publish my-app -f net9.0 -r rhel.9-architecture --self-contained false
    • architecture は、使用しているプラットフォームに基づいて置き換えます。

      • Intel の場合: x64
      • IBM Z および LinuxONE の場合: s390x
      • 64 ビット Arm の場合: arm64
      • IBM Power の場合: ppc64le

第5章 コンテナーでの .NET 9.0 アプリケーションの実行

ubi8/dotnet-90-runtime イメージを使用して、.NET コンテナーで事前コンパイルされたアプリケーションを実行します。

以下の例では Podman を使用しています。

手順

  1. mvc_runtime_example という名前のディレクトリーに新しい MVC プロジェクトを作成します。

    $ dotnet new mvc --output mvc_runtime_example
  2. プロジェクトを公開します。

    $ dotnet publish mvc_runtime_example -f net9.0 /p:PublishProfile=DefaultContainer /p:ContainerBaseImage=registry.access.redhat.com/ubi8/dotnet-90-runtime:latest
  3. イメージを実行します。

    $ podman run -rm -p8080:8080 mvc_runtime_example
  4. コンテナーで実行されているアプリケーションを表示します。

    $ xdg-open http://127.0.0.1:8080

第6章 以前のバージョンの .NET からの移行

6.1. 以前のバージョンの .NET からの移行

Microsoft 社は、ほとんどの以前の .NET Core バージョンから移行する手順を提供します。

サポート対象外になったバージョンの .NET を使用している場合や、新しいバージョンの .NET に移行して機能を拡張する場合は、以下のアーティクルを参照してください。

注記

.NET Core 1.x から 2.0 に移行する場合は、Migrate from ASP.NET Core 1.x to 2.0 の最初のいくつかのセクションを参照してください。これらのセクションでは、.NET Core 1.x から 2.0 への移行パスに適した概略を説明しています。

6.2. .NET Framework からの移植

.NET Framework から移行する場合は、次の Microsoft の記事を参照してください。

.NET Framework に存在するいくつかの技術と API は、.NET Core および .NET では使用できません。アプリケーションまたはライブラリーにこれらの API が必要な場合は、代わりの方法を検討するか、.NET Framework の使用を継続してください。.NET Core および .NET では、次の技術と API はサポートされません。

  • Windows Forms や WPF (Windows Presentation Foundation) などのデスクトップアプリケーション
  • Windows Communication Foundation (WCF) サーバー (WCF クライアントがサポートされています)
  • .NET リモート処理

さらに、多くの .NET API は、Microsoft Windows 環境でのみ使用できます。次のリストでは、この Windows 固有の API の例を示しています。

  • Microsoft.Win32.Registry
  • System.AppDomains
  • System.Security.Principal.Windows
重要

.NET のデフォルトバージョンでサポートされない一部の API は、Microsoft.Windows.Compatibility NuGet パッケージで利用できます。この NuGet パッケージを使用するときは注意してください。提供されている API の一部 (Microsoft.Win32.Registry など) は Windows でのみ動作するため、アプリケーションは Red Hat Enterprise Linux と互換性がありません。

法律上の通知

Copyright © 2025 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, the Red Hat logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

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

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.