Fedora に .NET SDK または .NET ランタイムをインストールする

.NET は Fedora でサポートされており、この記事では Fedora に .NET をインストールする方法について説明します。 Fedora のバージョンがサポート対象外となった場合、.NET もそのバージョンでサポート対象外となります。

.NET アプリを開発する場合は、SDK をインストールします (これにはランタイムが含まれます)。 または、アプリを実行する必要があるだけの場合は、ランタイムをインストールします。 ランタイムをインストールする場合は、ASP.NET Core ランタイムをインストールすることをお勧めします。これには .NET と ASP.NET の Core ランタイムの両方が含まれているためです。

dotnet --list-sdks および dotnet --list-runtimes コマンドを使用して、インストールされているバージョンを確認します。 詳細については、.NET が既にインストールされていることを確認する方法に関するページを参照してください。

パッケージ マネージャーを使用せずに .NET をインストールする方法の詳細については、次の記事のいずれかを参照してください。

サポートされているディストリビューション

現在サポートされている .NET リリースと、それらがサポートされている Fedora のバージョンの一覧は、次の表のとおりです。 これらのバージョンは、.NET のバージョンがサポート終了になるか、Fedora のバージョンがサポート終了になるまでサポートされます。

Fedora .NET
39 8、7、6
38 8、7、6
37 8、7、6

次のバージョンの .NET は、❌ サポート対象外となりました。

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

.NET 8 をインストールする

重要

.NET 8 は 2023 年 11 月 14 日にリリースされました。 このパッケージがパッケージ マネージャー フィード内に表示されるまでに時間がかかる場合があります。

SDK のインストール

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

sudo dnf install dotnet-sdk-8.0

ランタイムをインストールする

ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ターミナルで、次のコマンドを実行します。

sudo dnf install aspnetcore-runtime-8.0

ASP.NET Core ランタイムの代替手段として、ASP.NET Core サポートを含まない .NET ランタイムをインストールできます。それには、前のコマンドの aspnetcore-runtime-8.0dotnet-runtime-8.0 で置き換えます。

sudo dnf install dotnet-runtime-8.0

.NET 7 をインストールする

SDK をインストールする

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

sudo dnf install dotnet-sdk-7.0

ランタイムをインストールする

ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ターミナルで、次のコマンドを実行します。

sudo dnf install aspnetcore-runtime-7.0

ASP.NET Core ランタイムの代替手段として、ASP.NET Core サポートを含まない .NET ランタイムをインストールできます。それには、前のコマンドの aspnetcore-runtime-7.0dotnet-runtime-7.0 で置き換えます。

sudo dnf install dotnet-runtime-7.0

.NET 6 をインストールする

SDK をインストールする

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

sudo dnf install dotnet-sdk-6.0

ランタイムをインストールする

ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ターミナルで、次のコマンドを実行します。

sudo dnf install aspnetcore-runtime-6.0

ASP.NET Core ランタイムの代替手段として、ASP.NET Core サポートを含まない .NET ランタイムをインストールできます。それには、前のコマンドの aspnetcore-runtime-6.0dotnet-runtime-6.0 で置き換えます。

sudo dnf install dotnet-runtime-6.0

プレビュー バージョンをインストールする

.NET のプレビューおよびリリース候補バージョンは、パッケージ リポジトリでは入手できません。 .NET のプレビューとリリース候補は、次のいずれかの方法でインストールできます。

プレビュー バージョンの削除

パッケージ マネージャーを使用して .NET のインストールを管理しているとき、以前、プレビュー リリースをインストールしている場合、競合が発生することがあります。 パッケージ マネージャーは、プレビューではないリリースを .NET の以前のバージョンとして解釈することがあります。 プレビューではないリリースをインストールするには、最初にプレビュー バージョンをアンインストールします。 .NET をアンインストールする方法の詳細については、「.NET ランタイムと SDK を削除する方法」を参照してください。

依存関係

パッケージ マネージャーを使用してインストールする場合、次のライブラリが自動的にインストールされます。 ただし、手動で .NET をインストールする場合、または自己完結型アプリを公開する場合は、次のライブラリがインストールされていることを確認する必要があります。

  • krb5-libs
  • libicu
  • openssl-libs
  • zlib

ターゲット ランタイム環境の OpenSSL バージョンが 1.1 以降である場合は、compat-openssl10 をインストールする必要があります。

依存関係は yum install コマンドを使用してインストールできます 次のスニペットは、libicu ライブラリのインストールを示しています。

sudo yum install libicu

依存関係の詳細については、「Self-contained Linux applications」(自己完結型 Linux アプリケーション) をご覧ください。

.NET アプリで System.Drawing.Common アセンブリを使用している場合、libgdiplus もインストールする必要があります。 System.Drawing.Common は Linux でサポートされなくなったため、これは .NET 6 のみで機能し、System.Drawing.EnableUnixSupport ランタイム構成スイッチを設定する必要があります。

最新バージョンの libgdiplus をインストールするには、システムに Mono リポジトリを追加します。

古いディストリビューションにインストールする

古いバージョンの Fedora の既定のパッケージ リポジトリには、.NET Core が含まれていません。 dotnet-install.sh スクリプト、または Microsoft のリポジトリを使用して、.NET をインストールできます。

  1. 最初に、Microsoft 署名キーを信頼されたキーのリストに追加します。

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. 次に、Microsoft パッケージ リポジトリを追加します。 リポジトリのソースは、お使いの Fedora のバージョンに基づいています。

    Fedora のバージョン パッケージ リポジトリ
    36 https://packages.microsoft.com/config/fedora/36/prod.repo
    35 https://packages.microsoft.com/config/fedora/35/prod.repo
    34 https://packages.microsoft.com/config/fedora/34/prod.repo
    33 https://packages.microsoft.com/config/fedora/33/prod.repo
    32 https://packages.microsoft.com/config/fedora/32/prod.repo
    31 https://packages.microsoft.com/config/fedora/31/prod.repo
    30 https://packages.microsoft.com/config/fedora/30/prod.repo
    29 https://packages.microsoft.com/config/fedora/29/prod.repo
    28 https://packages.microsoft.com/config/fedora/28/prod.repo
    27 https://packages.microsoft.com/config/fedora/27/prod.repo
    sudo wget -O /etc/yum.repos.d/microsoft-prod.repo https://packages.microsoft.com/config/fedora/31/prod.repo
    

SDK をインストールする

.NET SDK を使用すると、.NET を使用してアプリを開発できます。 .NET SDK をインストールする場合、対応するランタイムをインストールする必要はありません。 .NET SDK をインストールするには、次のコマンドを実行します。

sudo dnf install dotnet-sdk-7.0

ランタイムをインストールする

ASP.NET Core ランタイムを使用すると、ランタイムを提供しない .NET を使用して作成されたアプリを実行できます。 次のコマンドを実行すると、.NET の最も互換性の高いランタイムである ASP.NET Core ランタイムがインストールされます。 ターミナルで、次のコマンドを実行します。

sudo dnf install aspnetcore-runtime-7.0

ASP.NET Core ランタイムの代替手段として、ASP.NET Core サポートを含まない .NET ランタイムをインストールできます。それには、前のコマンドの aspnetcore-runtime-7.0dotnet-runtime-7.0 で置き換えます。

sudo dnf install dotnet-runtime-7.0

その他のバージョンをインストールする方法

すべてのバージョンの .NET は、https://dotnet.microsoft.com/download/dotnet でダウンロードできますが、手動でのインストールが必要です。 パッケージ マネージャーを使用して、異なるバージョンの .NET をインストールすることもできます。 ただし、要求されたバージョンを使用できない場合もあります。

パッケージ マネージャーのフィードに追加されるパッケージは、変更可能な形式で名前が付けられます (例: {product}-{type}-{version})。

  • product
    インストールする .NET 製品の種類。 有効なオプションは次のとおりです。

    • dotnet
    • aspnetcore
  • type
    SDK またはランタイムを選択します。 有効なオプションは次のとおりです。

    • sdk (dotnet 製品でのみ使用可能)
    • runtime
  • version
    インストールする SDK またはランタイムのバージョン。 有効なオプションは、次のようなリリース バージョンです。

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    ダウンロードしようとしている SDK/ランタイムが Linux ディストリビューションで使用できない可能性があります。 サポートされているディストリビューションの一覧が必要な場合、「Linux に .NET をインストールする」を参照してください。

  • ASP.NET Core 8.0 ランタイムをインストールする: aspnetcore-runtime-8.0
  • .NET Core 2.1 ランタイムをインストールする: dotnet-runtime-2.1
  • .NET 5 SDK をインストールする: dotnet-sdk-5.0
  • .NET Core 3.1 SDK をインストールする: dotnet-sdk-3.1

Note

一部のパッケージは、Linux ディストリビューションでは使用できない場合があります。

パッケージがない

パッケージ バージョンの組み合わせが正しくない場合は、使用できません。 たとえば、ASP.NET Core SDK はありません。 ASP.NET Core 用の SDK コンポーネントは、.NET SDK に含まれています。 値 aspnetcore-sdk-8.0 は正しくありません。dotnet-sdk-8.0 にする必要があります .NET によってサポートされている Linux ディストリビューションの一覧については、.NET の依存関係と要件に関するページを参照してください。

パッケージ マネージャーのトラブルシューティング

このセクションでは、パッケージ マネージャーを使用して .NET または .NET Core をインストールするときに発生する可能性のある一般的なエラーについて説明します。

パッケージが見つからない

パッケージ マネージャーを使用せずに .NET をインストールする方法の詳細については、次の記事のいずれかを参照してください。

フェッチできない

.NET パッケージのインストール中に、signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod' のようなエラーが表示されることがあります。 一般に、このエラーは、.NET のパッケージ フィードが新しいバージョンのパッケージでアップグレード中であり、後でもう一度試す必要があることを意味しています。 アップグレード中は、2 時間以上パッケージ フィードを利用できません。 2 時間以上このエラーが継続的に発生する場合は、https://github.com/dotnet/core/issues でイシューを報告してください。

これらの問題の解決方法の詳細については、「fxrlibhostfxr.soFrameworkList.xml エラーのトラブルシューティングを行う」を参照してください。

次の手順