De .NET SDK of de .NET Runtime installeren in CentOS Linux

.NET wordt ondersteund in CentOS Linux. In dit artikel wordt beschreven hoe u .NET installeert in CentOS Linux. Als u .NET On CentOS Stream wilt installeren, raadpleegt u De .NET SDK of .NET Runtime installeren op RHEL en CentOS Stream.

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 op CentOS Linux 7. Deze versies blijven ondersteund totdat de versie van .NET het einde van de ondersteuning bereikt of de versie van CentOS Linux niet meer wordt ondersteund.

CentOS Linux .NET
7 7, 6

Waarschuwing

CentOS Linux 8 bereikte op 31 december 2021 een vroeg einde van de levensduur (EOL). Zie de officiële CentOS Linux EOL-pagina voor meer informatie. Daarom wordt .NET niet ondersteund in CentOS Linux 8.

De volgende versies van .NET worden ❌ niet meer ondersteund:

  • .NET 5
  • .NET Core 3.1
  • .NET Core 3.0
  • .NET Core 2.2
  • .NET Core 2.1
  • .NET Core 2.0

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:

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.

CentOS Linux 7

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 Microsoft-pakketopslagplaats toe te voegen. Open een terminal en voer de volgende opdrachten uit:

sudo rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm

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 opdracht uit om de .NET SDK te installeren:

sudo yum install dotnet-sdk-7.0

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 opdracht wordt de ASP.NET Core Runtime geïnstalleerd. Dit is de meest compatibele runtime voor .NET. Voer in de terminal de volgende opdracht uit:

sudo yum install 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 yum install dotnet-runtime-7.0

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:

    • 8.0
    • 6.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 8.0-runtime: aspnetcore-runtime-8.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.

Problemen met pakketbeheer oplossen

Deze sectie bevat informatie over veelvoorkomende fouten die u kunt krijgen tijdens het gebruik van pakketbeheer 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:

Ophalen is mislukt

Tijdens het installeren van het .NET-pakket ziet u mogelijk een fout die vergelijkbaar is met signature verification failed for file 'repomd.xml' from repository 'packages-microsoft-com-prod'. Over het algemeen betekent deze fout 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 2 uur niet beschikbaar zijn. Als u deze fout gedurende meer dan 2 uur voortdurend ontvangt, kunt u een probleem indienen bij https://github.com/dotnet/core/issues.

Zie Problemen oplossen fxren FrameworkList.xmllibhostfxr.sofouten voor meer informatie over het oplossen van deze problemen.

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:

  • krb5-bibliotheken
  • Libicu
  • openssl-bibliotheken
  • Zlib

Als de OpenSSL-versie van de doelruntimeomgeving 1.1 of hoger is, moet u installeren compat-openssl10.

Afhankelijkheden kunnen worden geïnstalleerd met de yum install opdracht. In het volgende fragment ziet u hoe u de libicu bibliotheek installeert:

sudo yum install libicu

Zie Zelfstandige Linux-apps voor meer informatie over de afhankelijkheden.

Als de .NET-app gebruikmaakt van de Assembly System.Drawing.Common , moet ook de installatie van de .NET-app worden uitgevoerd. Omdat System.Drawing.Common niet meer wordt ondersteund in Linux, werkt dit alleen op .NET 6 en vereist het instellen van de System.Drawing.EnableUnixSupport runtimeconfiguratieswitch.

U kunt een recente versievan installeren door de Mono-opslagplaats aan uw systeem toe te voegen.

Volgende stappen