![¿Por qué aparece el error "No se pudo cargar el comando" cuando ejecuto los comandos `dotnet` después de instalar el SDK de .NET?](https://rvso.com/image/1073522/%C2%BFPor%20qu%C3%A9%20aparece%20el%20error%20%22No%20se%20pudo%20cargar%20el%20comando%22%20cuando%20ejecuto%20los%20comandos%20%60dotnet%60%20despu%C3%A9s%20de%20instalar%20el%20SDK%20de%20.NET%3F.png)
Seguí elinstrucciones oficialespara instalar la última versión del SDK de .NET. Elegí el método "Administrador de paquetes (canal de Microsoft)". Después de completar estas instrucciones y ejecutar dotnet --version
, obtengo el siguiente resultado:
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
Leí ambas páginas web, pero no me brindan soluciones. Esto me lleva de regreso al comienzo del proceso para instalar el SDK de .NET. El otro habla sobre cómo funcionan las resoluciones del SDK, principalmente cuando se ejecutan aplicaciones. Pero esto no me ayuda con la herramienta CLI dotnet
.
Me pareció interesante que si ejecutaba dotnet --info
, obtenía el siguiente resultado, que confirma que cree que no hay ningún SDK instalado:
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
Creo que esto es extraño porque si uso APT para verificar qué paquetes he instalado, veo un resultado que hace que parezca que después de seguir las instrucciones de instalación oficiales, efectivamente tenía instalada una versión del SDK (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]
Respuesta1
Mi problema fue que había instalado la versión 7 del SDK de .NET a través de una combinación de paquetes de fuentes de Microsoft y paquetes de fuentes de Ubuntu. Esto se describe con más detalle en suPasos para la solución de problemas de APT. Estaba usando 22.04 a través de WSL, por lo que este problema se aplicó a mí.
Mi solución fue seguir el enfoque recomendado para las personas que no dependen de la fuente de Microsoft por ningún motivo, que era eliminar completamente la fuente de Microsoft de mi sistema y luego seguir sus instrucciones para instalar usando la fuente de Ubuntu. Después de hacer esto, mi dotnet --info
salida muestra el SDK instalado:
.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
Debido a que estaba usando 22.04 pero quería instalar y usar la última versión no preliminar del SDK (que es 7 a partir de hoy), primero tuve que actualizar a 23.04. Hice esto siguiendo las instrucciones que encontré en un sitio web de terceros, que debían ejecutar sudo do-release-upgrade
. Cuando hice esto, me dijo que ya estaba ejecutando la última versión a la que podía actualizar, a menos que modificara un archivo de configuración y lo intentara nuevamente. Así que seguí las instrucciones, luego intenté la actualización nuevamente y luego ejecuté 23.04 para poder seguir los pasos anteriores para instalar .NET SDK 7.