Installare .NET SDK o il runtime di .NET in Fedora

.NET è supportato in Fedora e questo articolo descrive come installare .NET in Fedora. Quando una versione di Fedora raggiunge la fine del supporto, anche .NET non è più supportato con quella versione.

Installare l'SDK (che include il runtime) se si vogliono sviluppare app .NET. Se si vogliono solo eseguire app, è sufficiente installare il runtime. Se si installa il runtime, è consigliabile installare il runtime di ASP.NET Core, perché include sia il runtime di .NET che quello di ASP.NET Core.

Usare i comandi dotnet --list-sdks e dotnet --list-runtimes per vedere quali sono le versioni installate. Per altre informazioni, vedere Come verificare che .NET sia già installato.

Per altre informazioni sull'installazione di .NET senza uno strumento di gestione pacchetti, vedere uno degli articoli seguenti:

Distribuzioni supportate

La tabella seguente contiene un elenco delle release di .NET attualmente supportate e delle versioni di Fedora in cui sono supportate. Queste versioni rimarranno supportate fino a quando la versione di .NET raggiungerà la fine del supporto o la versione di Fedora non sarà più supportata.

Fedora .NET
40 8, 6
39 8, 7, 6
38 8, 7, 6

Le versioni seguenti di .NET ❌ non sono più supportate:

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

Installare .NET 8

Installazione dell'SDK

.NET SDK consente di sviluppare app con .NET. Se si installa .NET SDK, non è necessario installare il runtime corrispondente. Per installare .NET SDK, eseguire il comando seguente:

sudo dnf install dotnet-sdk-8.0

Installare il runtime

Il runtime di ASP.NET Core consente di eseguire app create con .NET che non hanno fornito il runtime. Il comando seguente installa il runtime di ASP.NET Core, che è quello più compatibile per .NET. Nel terminale eseguire il comando seguente:

sudo dnf install aspnetcore-runtime-8.0

In alternativa al runtime di ASP.NET Core, è possibile installare il runtime di .NET, che non include il supporto di ASP.NET Core: sostituire aspnetcore-runtime-8.0 nel comando precedente con dotnet-runtime-8.0:

sudo dnf install dotnet-runtime-8.0

Installare .NET 7

Installazione dell'SDK

.NET SDK consente di sviluppare app con .NET. Se si installa .NET SDK, non è necessario installare il runtime corrispondente. Per installare .NET SDK, eseguire il comando seguente:

sudo dnf install dotnet-sdk-7.0

Installare il runtime

Il runtime di ASP.NET Core consente di eseguire app create con .NET che non hanno fornito il runtime. Il comando seguente installa il runtime di ASP.NET Core, che è quello più compatibile per .NET. Nel terminale eseguire il comando seguente:

sudo dnf install aspnetcore-runtime-7.0

In alternativa al runtime di ASP.NET Core, è possibile installare il runtime di .NET, che non include il supporto di ASP.NET Core: sostituire aspnetcore-runtime-7.0 nel comando precedente con dotnet-runtime-7.0:

sudo dnf install dotnet-runtime-7.0

Installare .NET 6

Installazione dell'SDK

.NET SDK consente di sviluppare app con .NET. Se si installa .NET SDK, non è necessario installare il runtime corrispondente. Per installare .NET SDK, eseguire il comando seguente:

sudo dnf install dotnet-sdk-6.0

Installare il runtime

Il runtime di ASP.NET Core consente di eseguire app create con .NET che non hanno fornito il runtime. Il comando seguente installa il runtime di ASP.NET Core, che è quello più compatibile per .NET. Nel terminale eseguire il comando seguente:

sudo dnf install aspnetcore-runtime-6.0

In alternativa al runtime di ASP.NET Core, è possibile installare il runtime di .NET, che non include il supporto di ASP.NET Core: sostituire aspnetcore-runtime-6.0 nel comando precedente con dotnet-runtime-6.0:

sudo dnf install dotnet-runtime-6.0

Installare le versioni di anteprima

Le versioni di anteprima e le versioni finali candidate di .NET non sono disponibili nei repository di pacchetti. È possibile installare queste versioni di .NET in uno dei modi seguenti:

Rimuovere le versioni di anteprima

Quando si usa uno strumento di gestione pacchetti per gestire l'installazione di .NET, se in precedenza è stata installata una versione di anteprima potrebbe verificarsi un conflitto. Lo strumento di gestione pacchetti potrebbe interpretare la versione non di anteprima come una versione precedente di .NET. Per installare la versione non di anteprima, disinstallare prima di tutto le versioni di anteprima. Per altre informazioni sulla disinstallazione di .NET, vedere Come rimuovere il runtime e l'SDK .NET.

Dipendenze

Quando si installa mediante uno strumento di gestione pacchetti, queste librerie vengono installate automaticamente. Se invece si installa manualmente .NET o si pubblica un'app autonoma, è necessario verificare che queste librerie siano installate:

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

Se la versione di OpenSSL dell'ambiente di runtime di destinazione è 1.1 o successiva, sarà necessario installare compat-openssl10.

È possibile installare le dipendenze con il comando yum install. Il frammento di codice seguente dimostra l'installazione della libreria libicu:

sudo yum install libicu

Per altre informazioni sulle dipendenze, vedere l'articolo sulle applicazioni Linux autonome.

Se l'app .NET usa l'assembly System.Drawing.Common, sarà necessario installare anche libgdiplus. Poiché System.Drawing.Common non è più supportato in Linux, funziona solo in .NET 6 e richiede di impostare l'opzione di configurazione del runtime System.Drawing.EnableUnixSupport.

È possibile installare una versione recente di libgdiplusaggiungendo il repository Mono al sistema.

Eseguire l'installazione in distribuzioni precedenti

Le versioni precedenti di Fedora non contengono .NET Core nei repository di pacchetti predefiniti. È possibile installare .NET con lo script dotnet-install.sh oppure usando il repository Microsoft:

  1. Per prima cosa, aggiungere la chiave di firma Microsoft all'elenco di chiavi attendibili.

    sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    
  2. Aggiungere quindi il repository di pacchetti Microsoft. L'origine del repository dipende dalla versione di Fedora in uso.

    Versione di Fedora Repository di pacchetti
    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
    

Installazione dell'SDK

.NET SDK consente di sviluppare app con .NET. Se si installa .NET SDK, non è necessario installare il runtime corrispondente. Per installare .NET SDK, eseguire il comando seguente:

sudo dnf install dotnet-sdk-7.0

Installare il runtime

Il runtime di ASP.NET Core consente di eseguire app create con .NET che non hanno fornito il runtime. Il comando seguente installa il runtime di ASP.NET Core, che è quello più compatibile per .NET. Nel terminale eseguire il comando seguente:

sudo dnf install aspnetcore-runtime-7.0

In alternativa al runtime di ASP.NET Core, è possibile installare il runtime di .NET, che non include il supporto di ASP.NET Core: sostituire aspnetcore-runtime-7.0 nel comando precedente con dotnet-runtime-7.0:

sudo dnf install dotnet-runtime-7.0

Come installare altre versioni

Tutte le versioni di .NET sono disponibili per il download alla pagina https://dotnet.microsoft.com/download/dotnet, ma richiedono l'installazione manuale. È possibile provare a usare la gestione pacchetti per installare una versione diversa di .NET. Tuttavia, la versione richiesta potrebbe non essere disponibile.

I pacchetti aggiunti ai feed di gestione pacchetti sono denominati in un formato modificabile, ad esempio: {product}-{type}-{version}.

  • product
    Il tipo di prodotto .NET da installare. Le opzioni valide sono:

    • dotnet
    • aspnetcore
  • type
    Sceglie l'SDK o il runtime. Le opzioni valide sono:

    • sdk (disponibile solo per il prodotto dotnet)
    • runtime
  • version
    La versione dell'SDK o del runtime da installare. Le opzioni valide sono i numeri di tutte le versioni rilasciate, ad esempio:

    • 8.0
    • 6.0
    • 3.1
    • 2.1

    È possibile che l'SDK o il runtime che si sta provando a scaricare non sia disponibile per la propria distribuzione Linux. Per un elenco delle distribuzioni supportate, vedere Installare .NET in Linux.

Esempi

  • Installare il runtime di ASP.NET Core 8.0: aspnetcore-runtime-8.0
  • Installare il runtime di .NET Core 2.1: dotnet-runtime-2.1
  • Installare .NET 5 SDK: dotnet-sdk-5.0
  • Installare .NET Core 3.1 SDK: dotnet-sdk-3.1

Nota

Alcuni pacchetti potrebbero non essere disponibili nella distribuzione Linux.

Pacchetto mancante

Se la combinazione pacchetto-versione non funziona, non è disponibile. Ad esempio, non esiste un pacchetto ASP.NET Core SDK. I componenti SDK per ASP.NET Core sono inclusi in .NET SDK. Il valore aspnetcore-sdk-8.0 non è corretto e dovrebbe essere dotnet-sdk-8.0. Per un elenco delle distribuzioni Linux supportate da .NET, vedere Dipendenze e requisiti di .NET.

Risolvere i problemi di gestione pacchetti

Questa sezione fornisce informazioni sugli errori comuni che possono verificarsi durante l'uso di uno strumento di gestione pacchetti per installare .NET o.NET Core.

Non è possibile trovare il pacchetto

Per altre informazioni sull'installazione di .NET senza uno strumento di gestione pacchetti, vedere uno degli articoli seguenti:

Non è possibile recuperare il pacchetto

Durante l'installazione del pacchetto .NET può essere visualizzato un errore simile a signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. In generale, questo errore indica che il feed di pacchetti per .NET è in fase di aggiornamento con versioni più recenti e che è necessario riprovare più tardi. Durante un aggiornamento, il feed di pacchetti dovrebbe restare non disponibile per più di 2 ore. Se si riceve questo errore per più di 2 ore, segnalare il problema all'indirizzo https://github.com/dotnet/core/issues.

Per altre informazioni sulla risoluzione di questi problemi, vedere Risolvere gli errori fxr, libhostfxr.so e FrameworkList.xml.

Passaggi successivi