Warum erhalte ich die Fehlermeldung „Der Befehl konnte nicht geladen werden“, wenn ich nach der Installation des .NET SDK „dotnet“-Befehle ausführe?

Warum erhalte ich die Fehlermeldung „Der Befehl konnte nicht geladen werden“, wenn ich nach der Installation des .NET SDK „dotnet“-Befehle ausführe?

Ich folgte demoffizielle Anweisungenum die neueste Version des .NET SDK zu installieren. Ich habe die Methode „Paketmanager (Microsoft-Feed)“ gewählt. Nachdem ich diese Anweisungen befolgt und ausgeführt habe dotnet --version, erhalte ich die folgende Ausgabe:

The command could not be loaded, possibly because:
  * You intended to execute a .NET application:
      The application '--version' does not exist.
  * You intended to execute a .NET SDK command:
      No .NET SDKs were found.

Download a .NET SDK:
https://aka.ms/dotnet/download

Learn about SDK resolution:
https://aka.ms/dotnet/sdk-not-found

Ich habe beide Webseiten gelesen, aber sie bieten mir keine Lösungen. Eine bringt mich zurück zum Anfang des Installationsprozesses des .NET SDK. Die andere spricht darüber, wie SDK-Auflösungen funktionieren, hauptsächlich wenn Anwendungen ausgeführt werden. Aber das hilft mir nicht beim CLI-Tool dotnet.

Ich fand es interessant, dass ich beim Ausführen dotnet --infodie folgende Ausgabe erhielt, die bestätigt, dass angenommen wird, dass kein SDK installiert ist:

Host:
  Version:      7.0.9
  Architecture: x64
  Commit:       8e9a17b221

.NET SDKs installed:
  No SDKs were found.

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  DOTNET_ROOT       [/usr/lib/dotnet]

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Ich finde das seltsam, denn wenn ich mit APT überprüfe, welche Pakete ich installiert habe, erhalte ich eine Ausgabe, die den Eindruck erweckt, als hätte ich nach Befolgen der offiziellen Installationsanweisungen tatsächlich eine Version des SDK installiert (7.0.109):

$ sudo apt list --installed | grep dotnet

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

dotnet-apphost-pack-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-host-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-hostfxr-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-runtime-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]
dotnet-sdk-7.0/jammy,now 7.0.306-1 amd64 [installed]
dotnet-targeting-pack-7.0/jammy-updates,jammy-security,now 7.0.109-0ubuntu1~22.04.1 amd64 [installed,automatic]

Antwort1

Mein Problem war, dass ich Version 7 des .NET SDK über eine Mischung aus Microsoft-Feed-Paketen und Ubuntu-Feed-Paketen installiert hatte. Dies wird ausführlicher in derenSchritte zur APT-Fehlerbehebung. Ich habe 22.04 über WSL verwendet, daher trat dieses Problem bei mir auf.

Meine Lösung bestand darin, ihrem empfohlenen Ansatz für Personen zu folgen, die aus irgendeinem Grund nicht auf den Microsoft-Feed angewiesen sind. Das heißt, den Microsoft-Feed vollständig von meinem System zu entfernen und dann ihren Anweisungen zur Installation mit dem Ubuntu-Feed zu folgen. Nachdem ich dies getan hatte, dotnet --infozeigt meine Ausgabe das installierte SDK:

.NET SDK:
 Version:   7.0.109
 Commit:    3e9283a8e9

Runtime Environment:
 OS Name:     ubuntu
 OS Version:  23.04
 OS Platform: Linux
 RID:         ubuntu.23.04-x64
 Base Path:   /usr/lib/dotnet/sdk/7.0.109/

Host:
  Version:      7.0.9
  Architecture: x64
  Commit:       8e9a17b221

.NET SDKs installed:
  7.0.109 [/usr/lib/dotnet/sdk]

.NET runtimes installed:
  Microsoft.AspNetCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.AspNetCore.App]
  Microsoft.NETCore.App 7.0.9 [/usr/lib/dotnet/shared/Microsoft.NETCore.App]

Other architectures found:
  None

Environment variables:
  DOTNET_ROOT       [/usr/lib/dotnet]

global.json file:
  Not found

Learn more:
  https://aka.ms/dotnet/info

Download .NET:
  https://aka.ms/dotnet/download

Da ich 22.04 verwendete, aber die neueste Nicht-Vorschauversion des SDK (heute 7) installieren und verwenden wollte, musste ich zuerst auf 23.04 aktualisieren. Ich tat dies, indem ich den Anweisungen folgte, die ich auf einer Website eines Drittanbieters fand und die ausführen sollten sudo do-release-upgrade. Als ich dies tat, wurde mir mitgeteilt, dass ich bereits die neueste Version ausführte, auf die ich aktualisieren konnte, es sei denn, ich optimierte eine Konfigurationsdatei und versuchte es erneut. Also befolgte ich die Anweisungen, versuchte das Upgrade erneut und führte dann 23.04 aus, sodass ich die obigen Schritte ausführen konnte, um .NET SDK 7 zu installieren.

verwandte Informationen