So installieren Sie mehrere Versionen des .Net SDK unter Ubuntu

So installieren Sie mehrere Versionen des .Net SDK unter Ubuntu

Ich versuche, eine .Net-Anwendung zu erstellen, die eine bestimmte Version des .Net SDK erfordert, und zwar:"version": "2.2.107"

Durch ein aktuelles Apt-Update wurde die installierte .Net SDK-Version auf die neueste verfügbare Version aktualisiert, nämlich 2.2.300.

Ist es möglich, mehrere Versionen desselben SDK zu installieren?

Ich kann mehrere kleinere SDK-Versionen installiert haben, wie hier gezeigt

$ dotnet --list-sdks
2.1.700 [/usr/share/dotnet/sdk]
2.2.300 [/usr/share/dotnet/sdk]

Ich versuche zu vermeiden, dass ich meine aktuell installierte Version deinstallieren muss, nur um diese Anwendung zu erstellen.

Als Randbemerkung: Auf der Microsoft-Downloadseite finden sich keine Anweisungen zum Installieren einer bestimmten Version, was meiner Meinung nach ein Fehler ist. Die angezeigten Befehle installieren immer die neueste Version, auch wenn Sie auf die Seite gelangt sind, indem Sie auf die Version geklickt haben, die Sie eigentlich installieren möchten.

https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-2.2.107

Antwort1

Jeder Paketmanager wie APT oder RPM verarbeitet die neueste (und nur die neueste) Version des Pakets. Dies gilt für .Net Core-Pakete, sodass Sie nicht gleichzeitig eine ältere und eine neuere Version des Pakets haben können. Microsoft hat ein Skript vorbereitet, um .Net Core-Binärdateien (.Net Core, ASP.NET Core SDKs und Runtimes) ohne Paketmanager zu installieren. Sie können dieses Skript hier herunterladen:

https://dot.net/v1/dotnet-install.sh

Mit diesem Skript können Sie angeben, welche Version Sie installieren möchten (Option -v oder –version) und wo Sie Binärdateien installieren möchten (Optionen -i oder –install-dir).

  • Deinstallieren Sie vorhandene Pakete mit „apt remove dotnet-“,
  • Installieren Sie die mit der Option „—version“ angegebenen Binärdateien im selben Ordner (/usr/share/dotnet).

Das Skript ist sehr ausgefeilt und kann mit viel mehr Optionen ausgeführt werden. Geben Sie beim ersten Ausführen „—help“ an, um mehr darüber zu erfahren. Hinweis: Das Skript fügt den Installationsordner zur aktuellen Umgebungsvariable $PATH hinzu, jedoch nicht zur Profildatei Ihrer Shell. Sie sollten dies manuell tun.

Antwort2

Das Problem liegt beim Paketmanager, der ältere Versionen deinstalliert, bevor er eine neuere installiert. Sie können von Microsoft bereitgestellte Botnet-Install-Skripte verwenden, um dotnet-Binärpakete unabhängig vom Paketmanager abzurufen und zu installieren. Alle Anweisungen finden Sie hier: https://docs.microsoft.com/en-us/dotnet/core/tools/dotnet-install-script

verwandte Informationen