Installare l'SDK .NET o il runtime di .NET in Debian
Questo articolo descrive come installare .NET in Debian. Quando una versione di Debian raggiunge la fine del supporto, anche .NET non è più supportato con tale versione. Tuttavia, queste istruzioni possono essere utili per eseguire .NET in tali versioni, anche se non è supportato.
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.
Importante
L'installazione di .NET dal feed di pacchetti Microsoft mediante uno strumento di gestione pacchetti è supportata solo per l'architettura x64. Le altre architetture, ad esempio ARM, non sono supportate dal feed di pacchetti Microsoft.
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 Debian in cui sono supportate. Queste versioni rimarranno supportate fino a quando la versione di .NET raggiungerà la fine del supporto o la versione di Debian raggiungerà la fine del ciclo di vita.
Debian | .NET |
---|---|
12 | 9, 8 |
Le versioni seguenti di .NET non sono ❌ 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
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.
Debian 12
L'installazione con APT può essere eseguita con pochi comandi. Prima di installare .NET, eseguire i comandi seguenti per aggiungere la chiave di firma dei pacchetti Microsoft all'elenco di chiavi attendibili e aggiungere il repository dei pacchetti.
Aprire un terminale ed eseguire i comandi seguenti:
wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
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:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-9.0
Per informazioni su come usare l'interfaccia della riga di comando di .NET, vedere Panoramica dell'interfaccia della riga di comando di .NET.
Installare il runtime
Il runtime di ASP.NET Core consente di eseguire app create con .NET che non hanno fornito il runtime. I comandi seguenti consentono di installare il runtime di ASP.NET Core, che è quello più compatibile per .NET. Nel terminale eseguire i comandi seguenti:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-9.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-9.0
nel comando precedente con dotnet-runtime-9.0
:
sudo apt-get install -y dotnet-runtime-9.0
Per informazioni su come usare l'interfaccia della riga di comando di .NET, vedere Panoramica dell'interfaccia della riga di comando di .NET.
Usare APT per aggiornare .NET
Quando è disponibile una nuova versione patch per .NET, è sufficiente aggiornarla tramite APT con i comandi seguenti:
sudo apt-get update
sudo apt-get upgrade
Se la distribuzione di Linux è stata aggiornata dopo l'installazione di .NET, potrebbe essere necessario riconfigurare il repository di pacchetti Microsoft. Eseguire l'aggiornamento al repository di pacchetti appropriato per gli aggiornamenti di.NET seguendo la procedura di installazione per la versione corrente della propria distribuzione.
Risoluzione dei problemi
Questa sezione fornisce informazioni sugli errori comuni che possono verificarsi usando APT per installare .NET.
Non è possibile trovare il pacchetto
Importante
L'installazione di .NET dal feed di pacchetti Microsoft mediante uno strumento di gestione pacchetti è supportata solo per l'architettura x64. Le altre architetture, ad esempio ARM, non sono supportate dal feed di pacchetti Microsoft.
Per altre informazioni sull'installazione di .NET senza uno strumento di gestione pacchetti, vedere uno degli articoli seguenti:
Non è possibile trovare il pacchetto\Non è stato possibile installare alcuni pacchetti
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 set di comandi che segue sono presenti due segnaposto.
{dotnet-package}
Questo rappresenta il pacchetto .NET che si sta installando, ad esempioaspnetcore-runtime-8.0
. Viene usato nel comandosudo apt-get install
seguente.
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
Quindi, riprovare a installare .NET. Se la soluzione non funziona, è possibile eseguire un'installazione manuale con i comandi seguenti:
Se si usa Debian 12 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 Debian precedente alla 12, 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}
Non è possibile recuperare il pacchetto
Durante l'installazione del pacchetto .NET può essere visualizzato un errore simile a Failed to fetch ... File has unexpected size ... Mirror sync in progress?
. Questo errore può indicare 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 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. Se invece si installa manualmente .NET o si pubblica un'app autonoma, è necessario verificare che queste librerie siano installate:
12.x
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu72
- libssl3
- libstdc++6
- zlib1g
11.x
- libc6
- libgcc-s1
- libgssapi-krb5-2
- libicu67
- libssl1.1
- libstdc++6
- zlib1g
10.x
- libc6
- libgcc1
- libgssapi-krb5-2
- libicu63
- libssl1.1
- libstdc++6
- zlib1g
Altre note
È possibile installare le dipendenze con il comando apt install
. Il frammento di codice seguente dimostra l'installazione della libreria libc6
:
sudo apt install libc6
Se l'app .NET usa l'assembly System.Drawing.Common , libgdiplus deve essere installato. Per altre informazioni, vedere System.Drawing.Common supportato solo in Windows.
È possibile installare una versione recente di libgdiplus aggiungendo il repository Mono al sistema.