Installera .NET SDK eller .NET Runtime på Debian
Den här artikeln beskriver hur du installerar .NET på Debian. När en Debian-version inte stöds stöds inte längre .NET med den versionen. Dessa instruktioner kan dock hjälpa dig att få .NET att köras på dessa versioner, även om det inte stöds.
Installera SDK :et (som innehåller körningen) om du vill utveckla .NET-appar. Eller om du bara behöver köra appar installerar du Runtime. Om du installerar Runtime rekommenderar vi att du installerar ASP.NET Core Runtime eftersom den innehåller både .NET- och ASP.NET Core-körningar.
Använd kommandona dotnet --list-sdks
och dotnet --list-runtimes
för att se vilka versioner som är installerade. Mer information finns i Så här kontrollerar du att .NET redan är installerat.
Viktigt!
Om du använder en pakethanterare för att installera .NET från Microsoft-paketflödet stöds endast x64-arkitekturen. Andra arkitekturer, till exempel Arm, stöds inte av Microsoft-paketflödet.
Mer information om hur du installerar .NET utan en pakethanterare finns i någon av följande artiklar:
Distributioner som stöds
Följande tabell är en lista över .NET-versioner som stöds för närvarande och de versioner av Debian som de stöds på. Dessa versioner stöds fortfarande tills antingen versionen av .NET når slutet av supporten eller versionen av Debian når slutet av livet.
Debian | .NET |
---|---|
12 | 9, 8 |
Följande versioner av .NET stöds ❌ inte längre:
- .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
Installera förhandsversioner
Förhandsversioner och versioner av .NET är inte tillgängliga i paketlagringsplatser. Du kan installera förhandsversioner och versionskandidater för .NET på något av följande sätt:
Ta bort förhandsversioner
När du använder en pakethanterare för att hantera installationen av .NET kan det uppstå en konflikt om du tidigare har installerat en förhandsversion. Pakethanteraren kan tolka den icke-förhandsversion som en tidigare version av .NET. Om du vill installera versionen som inte är förhandsversion avinstallerar du först förhandsversionerna. Mer information om hur du avinstallerar .NET finns i Ta bort .NET Runtime och SDK.
Debian 12
Du kan installera med APT med några få kommandon. Innan du installerar .NET kör du följande kommandon för att lägga till Microsoft-paketsigneringsnyckeln i listan över betrodda nycklar och lägga till paketlagringsplatsen.
Öppna en terminal och kör följande kommandon:
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
Installera SDK:n
Med .NET SDK kan du utveckla appar med .NET. Om du installerar .NET SDK behöver du inte installera motsvarande körning. Installera .NET SDK genom att köra följande kommandon:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-9.0
Information om hur du använder .NET CLI finns i .NET CLI-översikt.
Installera körningen
Med ASP.NET Core Runtime kan du köra appar som har skapats med .NET som inte angav körningen. Följande kommandon installerar ASP.NET Core Runtime, som är den mest kompatibla körningen för .NET. Kör följande kommandon i terminalen:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-9.0
Som ett alternativ till ASP.NET Core Runtime kan du installera .NET Runtime, som inte innehåller ASP.NET Core-stöd: ersätt aspnetcore-runtime-9.0
i föregående kommando med dotnet-runtime-9.0
:
sudo apt-get install -y dotnet-runtime-9.0
Information om hur du använder .NET CLI finns i .NET CLI-översikt.
Använda APT för att uppdatera .NET
När en ny uppdateringsversion är tillgänglig för .NET kan du bara uppgradera den via APT med följande kommandon:
sudo apt-get update
sudo apt-get upgrade
Om du har uppgraderat Linux-distributionen sedan du installerade .NET kan du behöva konfigurera om Microsoft-paketlagringsplatsen. Kör installationsanvisningarna för den aktuella distributionsversionen för att uppgradera till lämplig paketlagringsplats för .NET-uppdateringar.
Felsökning
Det här avsnittet innehåller information om vanliga fel som du kan få när du använder APT för att installera .NET.
Det går inte att hitta paketet
Viktigt!
Om du använder en pakethanterare för att installera .NET från Microsoft-paketflödet stöds endast x64-arkitekturen. Andra arkitekturer, till exempel Arm, stöds inte av Microsoft-paketflödet.
Mer information om hur du installerar .NET utan en pakethanterare finns i någon av följande artiklar:
Det gick inte att hitta \ Vissa paket kunde inte installeras
Om du får ett felmeddelande som liknar Det går inte att hitta paketet {dotnet-package} eller om det inte gick att installera vissa paket kör du följande kommandon.
Det finns två platshållare i följande uppsättning kommandon.
{dotnet-package}
Detta representerar det .NET-paket som du installerar, till exempelaspnetcore-runtime-8.0
. Detta används i följandesudo apt-get install
kommando.
Prova först att rensa paketlistan:
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
Försök sedan att installera .NET igen. Om det inte fungerar kan du köra en manuell installation med följande kommandon:
Om du använder Debian 12 eller senare kan du prova följande kommandon:
# 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}
Om du använder en Debian-version före 12 kan du prova följande kommandon:
# 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}
Det gick inte att hämta
När du installerar .NET-paketet kan ett fel som liknar Failed to fetch ... File has unexpected size ... Mirror sync in progress?
. Det här felet kan innebära att paketflödet för .NET uppgraderas med nyare paketversioner och att du bör försöka igen senare. Under en uppgradering bör paketflödet inte vara otillgängligt på mer än 30 minuter. Om du kontinuerligt får det här felet i mer än 30 minuter kan du ange ett problem på https://github.com/dotnet/core/issues.
Beroenden
När du installerar med en pakethanterare installeras dessa bibliotek åt dig. Men om du installerar .NET manuellt eller publicerar en fristående app måste du kontrollera att dessa bibliotek är installerade:
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
Andra noteringar
Beroenden kan installeras med apt install
kommandot . Följande kodfragment visar hur libc6
du installerar biblioteket:
sudo apt install libc6
Om .NET-appen använder sammansättningen System.Drawing.Common måste libgdiplus installeras. Mer information finns i System.Drawing.Common som endast stöds i Windows.
Du kan installera en ny version av libgdiplus genom att lägga till Mono-lagringsplatsen i systemet.