Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo articolo illustra come installare .NET in Ubuntu. A partire da Ubuntu 22.04, la maggior parte delle versioni supportate di .NET è disponibile nel feed Ubuntu predefinito. Il repository di pacchetti backports di Ubuntu .NET contiene le versioni .NET supportate rimanenti.
Canonical ha assunto il controllo della pubblicazione .NET in Ubuntu. A partire da Ubuntu 22.04, Microsoft non distribuisce più .NET per Ubuntu al repository dei pacchetti Microsoft.
Distribuzioni supportate
La tabella seguente è un elenco delle versioni attualmente supportate .NET e delle versioni di Ubuntu in cui sono supportate. Ogni collegamento passa alla pagina specifica della versione di Ubuntu con istruzioni su come installare .NET per tale versione di Ubuntu.
| Ubuntu | Versioni di .NET supportate | Disponibile in Feed integrato di Ubuntu |
Disponibile in backport .NET Ubuntu Feed |
Disponibile in Feed Microsoft |
|---|---|---|---|---|
| 25.10 | 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | Nessuno | Nessuno |
| 25.04 | 10.0, 9.0, 8.0 | 10.0, 9.0, 8.0 | Nessuno | Nessuno |
| 24.04 (LTS) | 10.0, 9.0, 8.0 | 10.0, 8.0 | 9.0, 7.0, 6.0 | Nessuno |
| 22.04 (LTS) | 10.0, 9.0, 8.0 | 8.0, 7.0, 6.0 | 10,0, 9,0 | 8.0, 7.0, 6.0, 3.1 |
Quando una versione Ubuntu raggiunge la fine del periodo di supporto, .NET non è più supportata con tale versione specifica di Ubuntu.
Canonical supporta le versioni di .NET nel feed predefinito di Ubuntu per l'intero ciclo di vita di quella versione di Ubuntu, anche oltre la durata del supporto fornita da Microsoft, e offre supporto al meglio delle proprie capacità per le versioni di .NET nel repository dei pacchetti di backport .NET, che non si estende oltre la durata del supporto fornita da Microsoft.
Le versioni seguenti di .NET sono ❌ non più supportate:
- .NET 7
- .NET 6
- .NET 5
- .NET Core 3.1
- .NET Core 3.0
- .NET Core 2.2
- .NET Core 2.1
- .NET Core 2.0
Considerazioni sull'aggiornamento di Ubuntu
Aggiornamento di Ubuntu alla versione 22.04 o successiva? Provare prima a disinstallare .NET.
Se è stato usato uno strumento di gestione pacchetti per installare .NET dal repository dei pacchetti Microsoft, si otterrà un problema di combinazione di pacchetti dopo l'aggiornamento di Ubuntu. Ora che Canonical pubblica .NET nei feed di pacchetti per Ubuntu 22.04 (e versioni successive), la gestione pacchetti non conoscerà la versione di .NET installata in precedenza. Non è possibile aggiornare i pacchetti alla .NET più recente. Prima di tutto, disinstallarli, quindi reinstallarli dal repository del pacchetto Ubuntu.
Decidere come installare .NET
Quando la versione di Ubuntu supporta .NET tramite il feed Ubuntu predefinito o .NET backport, il supporto per tali build di .NET viene fornito da Canonical e le compilazioni potrebbero essere ottimizzate per carichi di lavoro diversi. Microsoft fornisce supporto per i pacchetti nel feed del repository di pacchetti Microsoft.
Avvertimento
È consigliabile scegliere tra i feed di Ubuntu e Microsoft per la provenienza dei pacchetti .NET. Non combinare pacchetti .NET da più repository di pacchetti, perché ciò comporta problemi quando le app tentano di risolvere una versione specifica di .NET.
| Metodo | Vantaggi | Svantaggi |
|---|---|---|
|
Gestore di pacchetti (integrato Ubuntu predefinito) |
|
|
|
Gestore di pacchetti (.NET backporti Ubuntu predefinito) |
|
|
|
Gestore di pacchetti Feed di Microsoft |
|
|
| Script\Estrazione manuale |
|
|
Usare le sezioni seguenti per determinare come installare .NET:
- I usa Ubuntu 22.04 o versione successiva e ho solo bisogno di .NET
- Sto usando una versione di Ubuntu precedente alla 22.04
-
Si usano altri pacchetti Microsoft, ad esempio
powershell,mdatpomssql - I vuole creare un'app .NET
- Io voglio eseguire un'app .NET in un contenitore, cloud o scenario di integrazione continua
- La distribuzione di Ubuntu non include la versione .NET desiderata oppure è necessaria una versione .NET non supportata
- Si vuole installare una versione di anteprima
- Non si vuole usare APT
- Sto usando una CPU basata su ARM
- Uso la piattaforma IBM System Z o Power
Uso Ubuntu 22.04 o versione successiva e ho solo bisogno di .NET
Se non sono necessari altri pacchetti Microsoft, ad esempio powershell, mdatp o mssql, installare .NET tramite il feed Ubuntu. Per ulteriori informazioni, consultare le seguenti pagine:
- Installare .NET in Ubuntu 25.10.
- Installare .NET in Ubuntu 25.04.
- Installare .NET in Ubuntu 24.04.
- Installare .NET in Ubuntu 22.04.
Importante
Se si usa .NET 8 SDK e Ubuntu 22.04, tenere presente che le versioni dell'SDK offerte da Canonical sono sempre nella banda delle funzionalità .1xx. Se si vuole usare una versione più recente della banda di funzionalità, usare il feed Microsoft per installare l'SDK. Assicurarsi di esaminare le informazioni contenute nell'articolo .NET pacchetti in Linux per comprendere le implicazioni del passaggio tra feed di repository.
Se si intende installare il repository Microsoft per usare altri pacchetti Microsoft, ad esempio powershell, mdatp o mssql, è necessario deprioritizzare i pacchetti di .NET forniti dal repository Microsoft. Per istruzioni su come deprioritizzare i pacchetti, vedere La distribuzione di Linux fornisce pacchetti .NET e si vuole usarli.
Sto usando una versione di Ubuntu precedente alla 22.04
Usare le istruzioni nella sezione specifica della versione di installare .NET SDK o .NET Runtime su Ubuntu.
Vedere la sezione Distribuzioni supportate per altre informazioni sulle versioni di .NET supportate per la versione di Ubuntu. Se si sta installando una versione non supportata, vedere Registrare il repository di pacchetti Microsoft.
Si usano altri pacchetti Microsoft, ad esempio powershell, mdatp o mssql
Se la versione di Ubuntu supporta .NET tramite feed Ubuntu, è necessario decidere quale feed deve installare .NET. La sezione Distribuzioni supportate fornisce una tabella che elenca le versioni di .NET disponibili nei feed del pacchetto.
Se si desidera ottenere i pacchetti .NET da un feed Ubuntu, è necessario depriorizzare i pacchetti .NET forniti dal repository Microsoft. Per istruzioni su come deprioritizzare i pacchetti, vedere La distribuzione di Linux fornisce pacchetti .NET e si vuole usarli.
Si vuole creare un'app .NET
Usare le stesse origini dei pacchetti per l'SDK e per il runtime. È consigliabile installare .NET tramite un feed Ubuntu. Se tuttavia si vuole installare .NET da un'altra origine(ad esempio, il repository di pacchetti Microsoft per accedere a bande di funzionalità SDK più elevate, è necessario disinstallare .NET, configurare gestione pacchetti per ignorare .NET pacchetti dal feed Ubuntu e reinstallarlo dall'altra origine.
Esaminare gli altri suggerimenti nella sezione Decide come installare .NET.
Si vuole eseguire un'app .NET in uno scenario di integrazione continua, cloud o contenitore
Se la versione di Ubuntu fornisce la versione .NET necessaria, installarla da un feed Ubuntu. In caso contrario, registrare il repository di pacchetti Microsoft e installare .NET da tale repository. Esaminare le informazioni nella sezione Distribuzioni supportate.
Se la versione di .NET desiderata non è disponibile, provare a usare lo script dotnet-install.
La distribuzione di Ubuntu non include la versione .NET desiderata oppure è necessaria una versione .NET non supportata
È consigliabile usare APT e il repository di pacchetti Microsoft. Per altre informazioni, vedere la sezione Registrare e installare con il repository di pacchetti Microsoft.
Si vuole installare una versione di anteprima
Usare uno dei modi seguenti per installare .NET:
Non si vuole usare APT
Se si preferisce un'installazione automatica, usare lo script di installazione di Linux.
Se si vuole il controllo completo sull'esperienza di installazione .NET, scaricare un tarball e installare manualmente .NET. Per altre informazioni, vedere Installazione manuale.
Sto usando una CPU basata su ARM
Se la versione di Ubuntu fornisce la versione .NET necessaria, installarla dal feed predefinito. Esaminare le informazioni nella sezione Distribuzioni supportate.
Se la versione di .NET desiderata non è disponibile, provare a usare uno dei modi seguenti per installare .NET:
Uso la piattaforma IBM System Z o Power
A partire da .NET 8 in Ubuntu 22.04, Canonical supporta .NET per le piattaforme IBM System Z e Power. Questo supporto continuerà per ogni rilascio .NET futuro.
Installare .NET tramite il feed Ubuntu predefinito. Per altre informazioni, vedere la pagina seguente:
Registrare un repository di pacchetti
A seconda della versione di Ubuntu, potrebbe essere necessario registrare i backport Ubuntu o il repository di pacchetti Microsoft.
Importante
Assicurarsi di prendere in considerazione le informazioni nella sezione Decide come installare .NET sezione.
- Registrare il repository di pacchetti backports di Ubuntu .NET
- Registrare il repository di pacchetti Microsoft
Repository di pacchetti backports di Ubuntu .NET
Il repository dei pacchetti backport di Ubuntu .NET fornisce versioni di .NET che non sono disponibili nel feed interno predefinito di Ubuntu. Canonical gestisce i pacchetti contenuti in questo repository di pacchetti e offre la migliore assistenza possibile, che non si estende oltre la durata del supporto fornito da Microsoft o il periodo di supporto della versione di Ubuntu interessata.
Questo repository di pacchetti è supportato in Ubuntu 24.04 LTS (Noble Numbat) e Ubuntu 22.04 LTS (Jammy Jellyfish). La sezione Distribuzioni supportate fornisce una tabella che elenca le versioni di .NET disponibili nel feed del pacchetto. Per altre informazioni, vedere Ubuntu .NET repository di pacchetti backport.
Per aggiungere questo repository di pacchetti, eseguire i comandi seguenti:
sudo add-apt-repository ppa:dotnet/backports
sudo apt update
Registrare il repository dei pacchetti di backport di Ubuntu .NET
Aprire un terminale ed eseguire il comando seguente:
sudo add-apt-repository ppa:dotnet/backports
Annotazioni
Il repository di pacchetti backports di Ubuntu .NET è compatibile con il feed predefinito di Ubuntu. Non è quindi necessario configurare la gestione pacchetti per ignorare i pacchetti .NET nel feed Ubuntu predefinito.
Rimuovere la registrazione del repository di pacchetti di backport Ubuntu .NET
Se non si vogliono più utilizzare pacchetti dal repository di pacchetti di backport Ubuntu .NET è possibile annullarne la registrazione. Aprire un terminale ed eseguire il comando seguente:
sudo add-apt-repository --remove ppa:dotnet/backports
Importante
La cancellazione della registrazione del repository dei pacchetti di backport di .NET su Ubuntu non disinstalla alcun pacchetto.
Comando add-apt-repository non trovato
L'utilità add-apt-repository(1) è preinstallata nella maggior parte delle installazioni di Ubuntu.
Se si riceve un messaggio di errore in cui viene segnalato che il comando add-apt-repository non è stato trovato, è necessario installare il pacchetto software-properties-common, che fornisce questo comando. Aprire un terminale ed eseguire i comandi seguenti:
sudo apt update
sudo apt install software-properties-common
Registrare il repository di pacchetti Microsoft
Importante
Questo vale solo per le versioni di Ubuntu precedenti alla 24.04. A partire da Ubuntu 24.04, Microsoft non pubblica più i pacchetti nel repository dei pacchetti Microsoft. Usare la tabella supported distributions per determinare il modo migliore per installare .NET.
Il repository di pacchetti Microsoft contiene tutte le versioni di .NET che in precedenza erano o sono attualmente supportate con la versione di Ubuntu. Se la versione di Ubuntu fornisce pacchetti .NET, sarà necessario deprioritizzare i pacchetti Ubuntu e usare il repository Microsoft. Per istruzioni su come deprioritizzare i pacchetti, vedere Ho bisogno di una versione di .NET che non è fornita dalla mia distribuzione Linux.
Importante
Il repository di pacchetti Microsoft supporta solo pacchetti .NET destinati all'architettura x64. Altre architetture, ad esempio Arm, devono installare .NET con altri mezzi, ad esempio con lo script installer o tramite installazione manuale.
Le versioni di anteprima non sono disponibili nel repository di pacchetti Microsoft. Per altre informazioni, vedere Installare le versioni di anteprima.
Attenzione
È consigliabile usare un solo repository per gestire tutte le installazioni di .NET. Se in precedenza è stato installato .NET con il repository Ubuntu, è necessario pulire il sistema dei pacchetti .NET e configurare APT per ignorare i feed Ubuntu. Per altre informazioni su come eseguire questa operazione, vedere I necessita di una versione di .NET non fornita dalla distribuzione Linux.
L'installazione con APT può essere eseguita con pochi comandi. Prima di installare .NET, eseguire i comandi seguenti per aggiungere la chiave di firma del pacchetto Microsoft all'elenco di chiavi attendibili e aggiungere il repository dei pacchetti.
Aprire un terminale ed eseguire i comandi seguenti:
# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release
# Download Microsoft signing key and repository
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
# Install Microsoft signing key and repository
sudo dpkg -i packages-microsoft-prod.deb
# Clean up
rm packages-microsoft-prod.deb
# Update packages
sudo apt update
Suggerimento
Lo script precedente è stato scritto per Ubuntu e potrebbe non funzionare se si usa una distribuzione derivata, ad esempio Linux Mint. È probabile che alle $ID variabili e $VERSION_ID non vengano assegnati i valori corretti, rendendo non valido l'URI per il wget comando.
$ID Corrisponde alla distribuzione ( ad esempio , ubuntu), mentre $VERSION_ID esegue il mapping alla versione specifica di Ubuntu per cui si vogliono ottenere pacchetti, ad esempio 22.04 o 23.10.
Ad esempio, in Ubuntu 22.04 $ID sarebbe ubuntu e $VERSION_ID sarebbe 22.04. L'URL sarà simile al seguente: https://packages.microsoft.com/config/ubuntu/22.04/packages-microsoft-prod.deb.
È possibile usare un Web browser e passare a https://packages.microsoft.com/config/ubuntu/ per vedere quali sono le versioni di Ubuntu disponibili da usare come valore $repo_version.
Installare, disinstallare o aggiornare .NET
Le sezioni seguenti descrivono come gestire .NET tramite gestione pacchetti.
Installare .NET
Installare .NET tramite la gestione pacchetti con il comando sudo apt install <package-name>. Sostituire <package-name> con il nome del pacchetto .NET da installare. Ad esempio, per installare .NET SDK 10.0, usare il comando sudo apt install dotnet-sdk-10.0. La tabella seguente elenca i pacchetti di .NET attualmente supportati (che might variano in base alla versione di Ubuntu:
| Prodotto | TIPO | Pacchetto | |
|---|---|---|---|
| 10.0 | ASP.NET Core | Tempo di esecuzione | aspnetcore-runtime-10.0 |
| 10.0 | .NET | Tempo di esecuzione | dotnet-runtime-10.0 |
| 10.0 | .NET | SDK | dotnet-sdk-10.0 |
| 9.0 | ASP.NET Core | Tempo di esecuzione | aspnetcore-runtime-9.0 |
| 9.0 | .NET | Tempo di esecuzione | dotnet-runtime-9.0 |
| 9.0 | .NET | SDK | dotnet-sdk-9.0 |
| 8.0 | ASP.NET Core | Tempo di esecuzione | aspnetcore-runtime-8.0 |
| 8.0 | .NET | Tempo di esecuzione | dotnet-runtime-8.0 |
| 8.0 | .NET | SDK | dotnet-sdk-8.0 |
Suggerimento
Se non si creano app .NET, installare il runtime di ASP.NET Core perché include il runtime di .NET e supporta anche le app ASP.NET Core.
Alcune variabili di ambiente influiscono sulla modalità di esecuzione .NET dopo l'installazione. Per altre informazioni, vedere .NET SDK e variabili di ambiente dell'interfaccia della riga di comando.
Disinstallare .NET
Se è stato installato .NET tramite una gestione pacchetti, disinstallare nello stesso modo con il comando apt-get remove:
sudo apt-get remove dotnet-sdk-6.0
Per altre informazioni, vedere Uninstall .NET.
Aggiornare .NET
Se è stato installato .NET tramite una gestione pacchetti, è possibile aggiornare il pacchetto con il comando apt upgrade. Ad esempio, i comandi seguenti aggiornano il pacchetto dotnet-sdk-10.0 con la versione più recente:
sudo apt update
sudo apt upgrade dotnet-sdk-10.0
Suggerimento
Se è stata aggiornata la distribuzione di Linux dall'installazione di .NET, potrebbe essere necessario riconfigurare il repository dei pacchetti Microsoft. Eseguire le istruzioni di installazione per la versione di distribuzione corrente per eseguire l'aggiornamento al repository di pacchetti appropriato per gli aggiornamenti .NET.
Gestire le versioni di anteprima
Le sezioni seguenti descrivono come installare e disinstallare le versioni di anteprima di .NET.
Installare le versioni di anteprima
Le versioni candidate di anteprima e rilascio di .NET non sono disponibili nei repository di pacchetti. È possibile installare anteprime e rilasciare candidati di .NET in uno dei modi seguenti:
Rimuovere le versioni di anteprima
Quando si usa una gestione pacchetti per gestire l'installazione di .NET, è possibile che si verifichi un conflitto se in precedenza è stata installata una versione di anteprima. La gestione pacchetti può 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 .NET Runtime e SDK.
Risoluzione dei problemi
A partire da Ubuntu 22.04, si potrebbe riscontrare una situazione in cui sembra che sia disponibile solo una parte di .NET. Ad esempio, sono stati installato il runtime e l'SDK, ma quando si esegue dotnet --info viene elencato solo il runtime. Questa situazione può essere correlata all'uso di due origini dei pacchetti diverse. I feed di pacchetti Ubuntu 22.04 e Ubuntu 22.10 predefiniti includono alcune versioni di .NET, ma non tutte, e potrebbe essere stato installato anche .NET dai feed Microsoft. Per altre informazioni su come risolvere questo problema, vedere Risoluzione degli errori .NET relativi ai file mancanti in Linux.
Problemi relativi ad APT
Questa sezione fornisce informazioni sugli errori comuni che possono verificarsi durante l'uso di APT per installare .NET.
Non è possibile trovare il pacchetto
Importante
L'uso di una gestione pacchetti per installare .NET dal feed del pacchetto Microsoft supporta solo l'architettura x64. Altre architetture, ad esempio Arm64, non sono supportate dal feed di pacchetti Microsoft. Usare i feed Ubuntu o installare manualmente .NET. Prestare attenzione ai problemi di confusione dei pacchetti quando si usano più feed. Per ulteriori informazioni, vedere .NET problemi di gestione dei pacchetti su Linux.
Per altre informazioni sull'installazione di .NET senza gestione pacchetti, vedere uno degli articoli seguenti:
Non è possibile trovare il pacchetto\Non è stato possibile installare alcuni pacchetti
Annotazioni
Queste informazioni si applicano solo quando .NET viene installato dal feed di pacchetti Microsoft.
Se viene visualizzato un messaggio di errore simile a Non è possibile trovare il pacchetto {dotnet-package} o Non è stato possibile installare alcuni pacchetti, eseguire i comandi seguenti.
Nel seguente set di comandi sono presenti due segnaposto.
{dotnet-package}
Rappresenta il pacchetto .NET che si sta installando, ad esempioaspnetcore-runtime-8.0. Viene usato nel comandosudo apt-get installseguente.
Prima di tutto, provare a ripulire l'elenco di pacchetti:
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
Provare quindi a installare di nuovo .NET. Se la soluzione non funziona, è possibile eseguire un'installazione manuale con i comandi seguenti:
Se si usa Ubuntu 23.10 o versione successiva, provare i comandi seguenti:
# Get OS version info which adds the $ID and $VERSION_ID variables
source /etc/os-release
# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
# Move the key to the appropriate place
sudo mv microsoft.asc.gpg $(cat /etc/apt/sources.list.d/microsoft-prod.list | grep -oP "(?<=signed-by=).*(?=\])")
# Update packages and install .NET
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
Se si usa una versione di Ubuntu precedente alla 23.10, provare i comandi seguenti:
# Define the OS version, name, and codename
source /etc/os-release
# Download the Microsoft keys
sudo apt-get install -y gpg wget
wget https://packages.microsoft.com/keys/microsoft.asc
cat microsoft.asc | gpg --dearmor -o microsoft.asc.gpg
sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
# Add the Microsoft repository to the system's sources list
wget https://packages.microsoft.com/config/$ID/$VERSION_ID/prod.list
sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
# Set ownership
sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list
# Update packages and install .NET
sudo apt-get update && \
sudo apt-get install -y {dotnet-package}
Impossibile recuperare
Durante l'installazione del pacchetto .NET, è possibile che venga visualizzato un errore simile a Failed to fetch ... File has unexpected size ... Mirror sync in progress?. Questo errore potrebbe significare che il feed di pacchetti per .NET viene aggiornato con le versioni più recenti del pacchetto e che è necessario riprovare più tardi. Durante un aggiornamento, il feed di pacchetti non dovrebbe essere non disponibile per più di 30 minuti. Se si riceve questo errore per più di 30 minuti, segnalare il problema all'indirizzo https://github.com/dotnet/core/issues.
Dipendenze
Quando si installa mediante uno strumento di gestione pacchetti, queste librerie vengono installate automaticamente. Tuttavia, se si installa manualmente .NET o si pubblica un'app autonoma, è necessario installare queste dipendenze per eseguire l'app:
- certificati CA
- libc6
- libgcc1 (per 16.x e 18.x)
- libgcc-s1 (per 20.x o versione successiva)
- libgssapi-krb5-2
- libicu55 (per 16.X)
- libicu60 (per 18.x)
- libicu66 (per 20.x)
- libicu70 (per 22.04)
- libicu72 (per la versione 23.10)
- libicu74 (per la versione 24.04)
- libicu76 (per la versione 25.04 o successiva)
- libssl1.0.0 (per 16.x)
- libssl1.1 (per 18.x, 20.x)
- libssl3 (per la versione 22.x o successiva)
- libstdc++6
- tzdata
- zlib1g
È possibile installare le dipendenze con il comando apt install. Il frammento di codice seguente dimostra l'installazione della libreria zlib1g:
sudo apt install zlib1g
Passaggi successivi
- Panoramica dell'interfaccia della riga di comando di .NET
- Come abilitare il completamento automatico tramite Tab per la CLI di .NET
- Tutorial: Creare un'applicazione console con .NET