RHEL 9 で .NET 10.0 を使い始める


.NET 10.0

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

Red Hat Customer Content Services

概要

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

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

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

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

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

第1章 .NET 10.0 の概要

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

.NET を使用すると、以下が可能になります。

  • マイクロサービスベースのアプローチに従い、一部のコンポーネントは .NET で構築し、その他のコンポーネントは Java などの言語で構築します。すべてのコンポーネントは、Red Hat Enterprise Linux および OpenShift Container Platform 上の共通のサポートされているプラットフォーム上で実行できます。
  • Microsoft Windows 上で新しい .NET ワークロードを開発し、それらのアプリケーションを Red Hat Enterprise Linux または Windows Server 上にデプロイして実行します。
  • 異種データセンターで .NET アプリケーションを実行することで、基盤となるインフラストラクチャーとして特に Windows Server に依存する必要がなくなります。

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

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

dotnet-sdk-10.0 パッケージは、.NET ソフトウェア開発キット (SDK) および対応する .NET ランタイムの両方をインストールします。.NET 10.0 の新しい SDK バージョンが利用可能になると、dnf を使用してインストールを更新できます。

前提条件

手順

  • dotnet-sdk-10.0 パッケージとその依存関係をインストールします。

    $ sudo dnf install dotnet-sdk-10.0 -y

検証

  • .NET が正しくインストールされていることを確認します。

    $ dotnet --info

    出力には、インストールされている .NET SDK とランタイム環境に関する情報が表示されます。

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

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

前提条件

  • .NET 10.0 SDK がインストールされている。

手順

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

    $ dotnet new console --output <my-app>
  2. プロジェクトディレクトリーからアプリケーションを実行します。

    $ dotnet run --project <my-app>

検証

  • アプリケーションが実行され、期待どおりの出力が表示されることを確認します。

    Hello World!

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

.NET 10.0 アプリケーションを公開するときに、次のいずれかのデプロイメント方法を選択できます。

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

Red Hat は、Red Hat Enterprise Linux 用のアプリケーションを公開する際に FDD を使用することを推奨しています。FDD により、アプリケーションは、Red Hat が構築し、テスト済みのネイティブ依存関係を含む最新の .NET ランタイムを確実に使用するようになります。

フレームワークに依存するアプリケーションの公開方法について説明します。

前提条件

  • 公開する.NET アプリケーションがある。

手順

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

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

    $ dotnet publish <my-app> -f net10.0 -r rhel.9-<architecture> --self-contained false

    <architecture> は、プラットフォームに応じて次のいずれかの値に置き換えます。

    • x64 (64 ビット Intel/AMD の場合)
    • arm64 (64 ビット Arm の場合)
    • s390x (64 ビット IBM Z および LinuxONE の場合)
    • ppc64le (64 ビット PPC (リトルエンディアン) の場合)

検証

  1. publish ディレクトリーの内容をリスト表示して、アプリケーションが公開されたことを確認します。

    $ ls <my-app>/bin/Debug/net10.0/publish/

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

ubi9/dotnet-100-aspnet イメージを使用して、Linux コンテナー内で ASP.NET Core アプリケーションを実行できます。
ASP.NET Core 以外の.NET アプリケーションの場合は、より小さい ubi9/dotnet-100-runtime イメージを使用します。

.NET SDK から直接 ASP.NET Core アプリケーションのコンテナーイメージを構築し、Podman を使用して実行する方法について説明します。

前提条件

  • .NET 10.0 SDK がインストールされている。
  • Podman がインストールされている。
  • ContainerBaseImage 属性 (registry.access.redhat.com) で指定されたコンテナーレジストリーへのネットワークアクセスがある。

手順

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

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

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

    $ podman run --rm -p 8080:8080 mvc_runtime_example

検証

  1. コンテナーで実行されているアプリケーションを表示します。

    $ xdg-open http://127.0.0.1:8080

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

6.1. .NET の移行ガイド

Microsoft は、.NET と ASP.NET Core の異なるバージョン間での移行に関する詳細なガイダンスを提供しています。古い .NET バージョンからアップグレードする場合は、特定のアップグレードパスについて、Microsoft の公式ドキュメントを参照してください。

注記

.NET Core 1.x から 2.0 に移行する場合は、Migrate from ASP.NET Core 1.x to 2.0 の記事の最初のセクションに関連するガイダンスが提供されています。

6.2. .NET Framework からの移植

.NET Framework からアプリケーションを移行する場合は、Microsoft の公式ドキュメントを参照してください。

.NET Framework の一部のテクノロジーと API は、.NET Core または .NET では使用できません。アプリケーションまたはライブラリーがこれらの API に依存している場合は、代替手段を見つけるか、.NET Framework を使い続ける必要があります。

.NET Core および .NET は次のテクノロジーをサポートしていません。

  • Windows Forms や Windows Presentation Foundation (WPF) などのデスクトップアプリケーション
  • 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 パッケージで使用できます。

このパッケージは注意して使用してください。Microsoft.Win32.Registry など、提供される API の多くは Windows でのみ動作します。これらの API を使用すると、アプリケーションは 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 では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

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

Legal Notice

Theme

© 2026 Red Hat
トップに戻る