De .NET SDK of .NET Runtime installeren op openSUSE

.NET wordt ondersteund in openSUSE. In dit artikel wordt beschreven hoe u .NET installeert op openSUSE.

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

openSUSE .NET
15.4+ 8, 7, 6

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

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.

openSUSE 15

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 zypper install libicu
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
wget https://packages.microsoft.com/config/opensuse/15/prod.repo
sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo

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 zypper install dotnet-sdk-8.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 zypper install 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 zypper install dotnet-runtime-8.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.

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
  • Libicu
  • libopenssl1_0_0

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

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

sudo zypper install krb5

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.

Volgende stappen