Installare .NET SDK o il runtime di .NET in RHEL e CentOS Stream

Importante

.NET 8 è stato rilasciato il 14 novembre 2023. La visualizzazione dei pacchetti nei feed di gestione pacchetti potrebbe richiedere del tempo.

.NET è supportato in Red Hat Enterprise Linux (RHEL). Questo articolo descrive come installare .NET in RHEL e CentOS Stream.

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.

Registrare la sottoscrizione di Red Hat

Per installare .NET da Red Hat in RHEL, è prima necessario eseguire la registrazione con il sistema di gestione delle sottoscrizioni di Red Hat. Se questa operazione non è stata eseguita nel sistema o in caso di dubbi, vedere la documentazione del prodotto Red Hat per .NET.

Importante

Questo non si applica a CentOS Stream.

Distribuzioni supportate

La tabella seguente contiene un elenco delle versioni di .NET attualmente supportate sia in RHEL, sia in CentOS Stream. Queste versioni rimarranno supportate fino a quando la versione di .NET raggiungerà la fine del supporto o la distribuzione Linux non sarà più supportata.

Distribuzione .NET
RHEL 9 (9.1) 8, 7, 6
RHEL 8 (8.7) 8, 7, 6
RHEL 7 6
CentOS Stream 9 8, 7, 6
CentOS Stream 8 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 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.

RHEL 9

.NET è incluso nei repository AppStream per RHEL 9.

Importante

.NET 8 è stato rilasciato il 14 novembre 2023. La visualizzazione dei pacchetti nei feed di gestione pacchetti potrebbe richiedere del tempo.

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

RHEL 8

.NET è incluso nei repository AppStream per RHEL 8.

Importante

.NET 8 è stato rilasciato il 14 novembre 2023. La visualizzazione dei pacchetti nei feed di gestione pacchetti potrebbe richiedere del tempo.

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

RHEL 7 ❌ .NET 8

.NET 8 non è compatibile con RHEL 7 e non funziona.

RHEL 7 ❌ .NET 7

.NET 7 non è ufficialmente supportato in RHEL 7. Per installare .NET 7, vedere Installare .NET in Linux usando uno script di installazione o estraendo i file binari.

RHEL 7 ✔️ .NET 6

Il comando seguente installa il pacchetto scl-utils:

sudo yum install scl-utils

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 i comandi seguenti:

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60 -y
scl enable rh-dotnet60 bash

Red Hat sconsiglia di abilitare rh-dotnet60 in modo permanente, perché può incidere su altri programmi. Se si vuole abilitare rh-dotnet in modo permanente, aggiungere la riga seguente al file ~/.bashrc.

source scl_source enable rh-dotnet60

Installare il runtime

Il runtime di .NET consente di eseguire app create con .NET in cui non è incluso il runtime. I comandi qui sotto consentono di installare il runtime di ASP.NET Core, che è quello più compatibile per .NET Core. Nel terminale eseguire i comandi seguenti.

subscription-manager repos --enable=rhel-7-server-dotnet-rpms
yum install rh-dotnet60-aspnetcore-runtime-6.0 -y
scl enable rh-dotnet60 bash

Red Hat sconsiglia di abilitare rh-dotnet60 in modo permanente, perché può incidere su altri programmi. Se si vuole abilitare rh-dotnet60 in modo permanente, aggiungere la riga seguente al file ~/.bashrc.

source scl_source enable rh-dotnet60

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

CentOS Stream 9 ✔️

.NET è incluso nei repository AppStream per CentOS Stream 9.

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

CentOS Stream 8 ✔️

Usare il repository Microsoft per installare .NET:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/8/packages-microsoft-prod.rpm
sudo yum install dotnet-sdk-8.0

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.

Come installare altre versioni

Consultare la documentazione di Red Hat per .NET in merito ai passaggi necessari per installare altre versioni 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.

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

Passaggi successivi