Installeer de .NET SDK of de .NET Runtime op Debian
In dit artikel wordt beschreven hoe u .NET installeert op Debian. Wanneer een Debian-versie niet meer wordt ondersteund, wordt .NET niet meer ondersteund met die versie. Deze instructies kunnen u echter helpen om .NET uit te voeren op deze versies, ook al wordt dit niet ondersteund.
Installeer de SDK (inclusief de runtime) als u .NET-apps wilt ontwikkelen. Als u alleen apps hoeft uit te voeren, installeert u runtime. Als u runtime installeert, raden we u aan de ASP.NET Core Runtime te installeren, omdat deze zowel .NET- als ASP.NET Core-runtimes bevat.
Gebruik de dotnet --list-sdks
en dotnet --list-runtimes
opdrachten om te zien welke versies zijn geïnstalleerd. Zie Controleren of .NET al is geïnstalleerd voor meer informatie.
Belangrijk
Het gebruik van een pakketbeheerder om .NET te installeren vanuit de Microsoft-pakketfeed ondersteunt alleen de x64-architectuur . Andere architecturen, zoals Arm, worden niet ondersteund door de Microsoft-pakketfeed.
Zie een van de volgende artikelen voor meer informatie over het installeren van .NET zonder pakketbeheer:
Ondersteunde distributies
De volgende tabel is een lijst met momenteel ondersteunde .NET-releases en de versies van Debian waarop ze worden ondersteund. Deze versies blijven ondersteund totdat de versie van .NET het einde van de ondersteuning bereikt of de versie van Debian het einde van de levensduur bereikt.
Debian | .NET |
---|---|
12 | 9, 8 |
11 | 8 |
De volgende versies van .NET worden ❌ niet meer ondersteund:
- .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
Preview-versies installeren
Preview- en release-kandidaatversies van .NET zijn niet beschikbaar in pakketopslagplaatsen. U kunt op een van de volgende manieren previews en releasekandidaten van .NET installeren:
Preview-versies verwijderen
Wanneer u een pakketbeheerder gebruikt om uw installatie van .NET te beheren, kan er een conflict optreden als u eerder een preview-versie hebt geïnstalleerd. De pakketbeheerder kan de niet-preview-versie interpreteren als een eerdere versie van .NET. Als u de niet-preview-versie wilt installeren, moet u eerst de preview-versies verwijderen. Zie .NET Runtime en SDK verwijderen voor meer informatie over het verwijderen van .NET.
Debian 12
Belangrijk
.NET 9 is uitgebracht op 12 november 2024. Het kan even duren voordat de pakketten worden weergegeven in de feeds van pakketbeheer of dat uw specifieke Linux-distributie deze opneemt.
Installeren met APT kan worden uitgevoerd met een paar opdrachten. Voordat u .NET installeert, voert u de volgende opdrachten uit om de ondertekeningssleutel van het Microsoft-pakket toe te voegen aan uw lijst met vertrouwde sleutels en de pakketopslagplaats toe te voegen.
Open een terminal en voer de volgende opdrachten uit:
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
Installeer de SDK
Met de .NET SDK kunt u apps ontwikkelen met .NET. Als u de .NET SDK installeert, hoeft u de bijbehorende runtime niet te installeren. Voer de volgende opdrachten uit om de .NET SDK te installeren:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-9.0
Zie het overzicht van .NET CLI voor meer informatie over het gebruik van .NET CLI.
De runtime installeren
Met de ASP.NET Core Runtime kunt u apps uitvoeren die zijn gemaakt met .NET waarvoor de runtime niet is opgegeven. Met de volgende opdrachten wordt de ASP.NET Core Runtime geïnstalleerd. Dit is de meest compatibele runtime voor .NET. Voer in de terminal de volgende opdrachten uit:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-9.0
Als alternatief voor de ASP.NET Core Runtime kunt u de .NET Runtime installeren. Deze bevat geen ondersteuning voor ASP.NET Core: vervang aspnetcore-runtime-9.0
in de vorige opdracht door dotnet-runtime-9.0
:
sudo apt-get install -y dotnet-runtime-9.0
Zie het overzicht van .NET CLI voor meer informatie over het gebruik van .NET CLI.
Debian 11
Installeren met APT kan worden uitgevoerd met een paar opdrachten. Voordat u .NET installeert, voert u de volgende opdrachten uit om de ondertekeningssleutel van het Microsoft-pakket toe te voegen aan uw lijst met vertrouwde sleutels en de pakketopslagplaats toe te voegen.
Open een terminal en voer de volgende opdrachten uit:
wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Installeer de SDK
Met de .NET SDK kunt u apps ontwikkelen met .NET. Als u de .NET SDK installeert, hoeft u de bijbehorende runtime niet te installeren. Voer de volgende opdrachten uit om de .NET SDK te installeren:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-8.0
Zie het overzicht van .NET CLI voor meer informatie over het gebruik van .NET CLI.
De runtime installeren
Met de ASP.NET Core Runtime kunt u apps uitvoeren die zijn gemaakt met .NET waarvoor de runtime niet is opgegeven. Met de volgende opdrachten wordt de ASP.NET Core Runtime geïnstalleerd. Dit is de meest compatibele runtime voor .NET. Voer in de terminal de volgende opdrachten uit:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-8.0
Als alternatief voor de ASP.NET Core Runtime kunt u de .NET Runtime installeren. Deze bevat geen ondersteuning voor ASP.NET Core: vervang aspnetcore-runtime-8.0
in de vorige opdracht door dotnet-runtime-8.0
:
sudo apt-get install -y dotnet-runtime-8.0
Zie het overzicht van .NET CLI voor meer informatie over het gebruik van .NET CLI.
Debian 10
Installeren met APT kan worden uitgevoerd met een paar opdrachten. Voordat u .NET installeert, voert u de volgende opdrachten uit om de ondertekeningssleutel van het Microsoft-pakket toe te voegen aan uw lijst met vertrouwde sleutels en de pakketopslagplaats toe te voegen.
Open een terminal en voer de volgende opdrachten uit:
wget https://packages.microsoft.com/config/debian/10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
Installeer de SDK
Met de .NET SDK kunt u apps ontwikkelen met .NET. Als u de .NET SDK installeert, hoeft u de bijbehorende runtime niet te installeren. Voer de volgende opdrachten uit om de .NET SDK te installeren:
sudo apt-get update && \
sudo apt-get install -y dotnet-sdk-7.0
Zie het overzicht van .NET CLI voor meer informatie over het gebruik van .NET CLI.
De runtime installeren
Met de ASP.NET Core Runtime kunt u apps uitvoeren die zijn gemaakt met .NET waarvoor de runtime niet is opgegeven. Met de volgende opdrachten wordt de ASP.NET Core Runtime geïnstalleerd. Dit is de meest compatibele runtime voor .NET. Voer in de terminal de volgende opdrachten uit:
sudo apt-get update && \
sudo apt-get install -y aspnetcore-runtime-7.0
Als alternatief voor de ASP.NET Core Runtime kunt u de .NET Runtime installeren. Deze bevat geen ondersteuning voor ASP.NET Core: vervang aspnetcore-runtime-7.0
in de vorige opdracht door dotnet-runtime-7.0
:
sudo apt-get install -y dotnet-runtime-7.0
Zie het overzicht van .NET CLI voor meer informatie over het gebruik van .NET CLI.
Andere versies installeren
Alle versies van .NET zijn beschikbaar voor download op https://dotnet.microsoft.com/download/dotnet, maar vereisen handmatige installatie. U kunt proberen om pakketbeheer te gebruiken om een andere versie van .NET te installeren. De aangevraagde versie is echter mogelijk niet beschikbaar.
De pakketten die zijn toegevoegd aan package manager-feeds, worden genoemd in een hackable-indeling, bijvoorbeeld: {product}-{type}-{version}
.
product
Het type .NET-product dat moet worden geïnstalleerd. Geldige opties zijn:dotnet
aspnetcore
type
Hiermee kiest u de SDK of de runtime. Geldige opties zijn:sdk
(alleen beschikbaar voor het dotnet-product )runtime
version
De versie van de SDK of runtime die moet worden geïnstalleerd. Geldige opties zijn vrijgegeven versies, zoals:9.0
8.0
3.1
2.1
Het is mogelijk dat de SDK/runtime die u probeert te downloaden, niet beschikbaar is voor uw Linux-distributie. Zie .NET installeren in Linux voor een lijst met ondersteunde distributies.
Voorbeelden
- Installeer de ASP.NET Core 9.0-runtime:
aspnetcore-runtime-9.0
- Installeer de .NET Core 2.1-runtime:
dotnet-runtime-2.1
- Installeer de .NET 5 SDK:
dotnet-sdk-5.0
- Installeer de .NET Core 3.1 SDK:
dotnet-sdk-3.1
Notitie
Sommige pakketten zijn mogelijk niet beschikbaar in uw Linux-distributie.
Pakket ontbreekt
Als de combinatie van pakketversie niet werkt, is deze niet beschikbaar. Er is bijvoorbeeld geen ASP.NET Core SDK. De SDK-onderdelen voor ASP.NET Core zijn opgenomen in de .NET SDK. De waarde aspnetcore-sdk-8.0
is onjuist en moet zijn dotnet-sdk-8.0
. Zie .NET-afhankelijkheden en -vereisten voor een lijst met Linux-distributies die worden ondersteund door .NET.
APT gebruiken om .NET bij te werken
Wanneer er een nieuwe patchrelease beschikbaar is voor .NET, kunt u deze gewoon upgraden via APT met de volgende opdrachten:
sudo apt-get update
sudo apt-get upgrade
Als u uw Linux-distributie hebt bijgewerkt sinds u .NET installeert, moet u mogelijk de Microsoft-pakketopslagplaats opnieuw configureren. Voer de installatie-instructies voor uw huidige distributieversie uit om een upgrade uit te voeren naar de juiste pakketopslagplaats voor .NET-updates.
Probleemoplossing
Deze sectie bevat informatie over veelvoorkomende fouten die u kunt krijgen tijdens het gebruik van APT om .NET te installeren.
Kan pakket niet vinden
Belangrijk
Het gebruik van een pakketbeheerder om .NET te installeren vanuit de Microsoft-pakketfeed ondersteunt alleen de x64-architectuur . Andere architecturen, zoals Arm, worden niet ondersteund door de Microsoft-pakketfeed.
Zie een van de volgende artikelen voor meer informatie over het installeren van .NET zonder pakketbeheer:
Kan bepaalde pakketten niet vinden
Als u een foutbericht krijgt dat lijkt op Kan pakket {dotnet-package} niet vinden of sommige pakketten niet kunnen worden geïnstalleerd, voert u de volgende opdrachten uit.
Er zijn twee tijdelijke aanduidingen in de volgende set opdrachten.
{dotnet-package}
Dit vertegenwoordigt het .NET-pakket dat u installeert, zoalsaspnetcore-runtime-8.0
. Dit wordt gebruikt in de volgendesudo apt-get install
opdracht.
Verwijder eerst de pakketlijst:
sudo dpkg --purge packages-microsoft-prod && sudo dpkg -i packages-microsoft-prod.deb
sudo apt-get update
Probeer vervolgens .NET opnieuw te installeren. Als dat niet werkt, kunt u een handmatige installatie uitvoeren met de volgende opdrachten:
Als u Debian 12 of hoger gebruikt, probeert u de volgende opdrachten:
# 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}
Als u een Debian-versie vóór 12 gebruikt, probeert u de volgende opdrachten:
# 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}
Ophalen is mislukt
Tijdens het installeren van het .NET-pakket ziet u mogelijk een fout die vergelijkbaar is met Failed to fetch ... File has unexpected size ... Mirror sync in progress?
. Deze fout kan betekenen dat de pakketfeed voor .NET wordt bijgewerkt met nieuwere pakketversies en dat u het later opnieuw moet proberen. Tijdens een upgrade mag de pakketfeed langer dan 30 minuten niet beschikbaar zijn. Als u deze fout gedurende meer dan 30 minuten voortdurend ontvangt, kunt u een probleem indienen bij https://github.com/dotnet/core/issues.
Afhankelijkheden
Wanneer u installeert met pakketbeheer, worden deze bibliotheken voor u geïnstalleerd. Maar als u .NET handmatig installeert of als u een zelfstandige app publiceert, moet u ervoor zorgen dat deze bibliotheken zijn geïnstalleerd:
12.x
- libc6
- swipecc-s1
- meansssapi-krb5-2
- libicu72
- bibliothekensl3
- bibliothekentdc++6
- zlib1g
11.x
- libc6
- swipecc-s1
- meansssapi-krb5-2
- libicu67
- bibliothekensl1.1
- bibliothekentdc++6
- zlib1g
10.x
- libc6
- op te 10000
- meansssapi-krb5-2
- libicu63
- bibliothekensl1.1
- bibliothekentdc++6
- zlib1g
Overige notities
Afhankelijkheden kunnen worden geïnstalleerd met de apt install
opdracht. In het volgende fragment ziet u hoe u de libc6
bibliotheek installeert:
sudo apt install libc6
Als de .NET-app gebruikmaakt van de Assembly System.Drawing.Common , moet u de installatie van de . NET-app uitvoeren. Zie System.Drawing.Common alleen ondersteund in Windows voor meer informatie.
U kunt een recente versievan installeren door de Mono-opslagplaats aan uw systeem toe te voegen.