Erreur: il n'a pas été possible de trouver les SDK .NET Core installés

14

Lorsque j'exécute la commande, docker run -i -t myProjectil affiche une erreur:

Aucun SDK .NET Core installé n’a été trouvé. Vouliez-vous exécuter les commandes du SDK .NET Core? Installez un SDK .NET Core à partir de: https://aka.ms/dotnet-download

Cependant, j'ai le SDK .NET Core installé et le PATHcorrect (suivi ici: https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot?view=aspnetcore-3.1#no-net -core-sdks-ont été détectés ).

De plus, mon projet n'a besoin que du SDK .NET Core d'exécution.

Quelqu'un sait-il quel pourrait être le problème?

Lors de l'exécution de dotnet --info, j'ai obtenu:

SDK .NET Core (reflétant tout global.json): Version: 3.1.101 Validation: b377529961

Environnement d'exécution: Nom du système d'exploitation: Windows OS Version: 10.0.18363 Plate-forme du système d'exploitation: Windows RID: win10-x86 Chemin de base: C: \ Program Files (x86) \ dotnet \ sdk \ 3.1.101 \

Hôte (utile pour le support): Version: 3.1.1 Commit: a1388f194c

SDK .NET Core installés: 3.1.101 [C: \ Program Files (x86) \ dotnet \ sdk]

Runtimes .NET Core installés: Microsoft.AspNetCore.App 3.1.0 [C: \ Program Files (x86) \ dotnet \ shared \ Microsoft.AspNetCore.App] Microsoft.AspNetCore.App 3.1.1 [C: \ Program Files (x86 ) \ dotnet \ shared \ Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.0 [C: \ Program Files (x86) \ dotnet \ shared \ Microsoft.NETCore.App] Microsoft.NETCore.App 3.1.1 [C : \ Program Files (x86) \ dotnet \ shared \ Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 3.1.0 [C: \ Program Files (x86) \ dotnet \ shared \ Microsoft.WindowsDesktop.App] Microsoft.WindowsDesktop. App 3.1.1 [C: \ Program Files (x86) \ dotnet \ shared \ Microsoft.WindowsDesktop.App]

Pour installer des runtimes ou SDK .NET Core supplémentaires: https://aka.ms/dotnet-download

iristan
la source
À quoi ressemble votre Dockerfile? La ENTRYPOINTcommande fait-elle référence au chemin correct?
Matt Thalman
Oui. Je viens de le résoudre: dans dockerfile j'avais aspnetcore-runtime-2.0 mais cette version n'est pas trouvée. Après avoir changé pour aspnetcore-runtime-2.2, cela fonctionne pour moi.
iristan
.NET Core 2.2 n'est plus pris en charge depuis décembre dernier. Vous devriez envisager de passer à la version 3.1. Voir hub.docker.com/_/microsoft-dotnet-core pour les dernières images prises en charge.
Matt Thalman
Je l'ai. Merci!
iristan

Réponses:

5

Pour moi , ce qui est arrivé quand j'ai eu tort ENTRYPOINTdans monDOCKERFILE

# Build runtime image
FROM mcr.microsoft.com/dotnet/core/aspnet:3.1
WORKDIR /app
COPY --from=build-env /app/out .
ENTRYPOINT ["dotnet", "SampleAppForDocker.dll"]

Assurez-vous que vous exécutez la DLL appropriée dans votre ENTRYPOINT. J'ai eu un mauvais nom de dllfichier.

Krzysztof Madej
la source