Błąd: nie można znaleźć zainstalowanych zestawów SDK .NET Core

13

Po uruchomieniu polecenia docker run -i -t myProjectpokazuje błąd:

Nie można znaleźć zainstalowanych zestawów .NET Core SDK Czy miałeś zamiar uruchomić polecenia .NET Core SDK? Zainstaluj .NET Core SDK z: https://aka.ms/dotnet-download

Mam jednak zainstalowany zestaw .NET Core SDK i PATHjest on poprawny (tutaj: https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot?view=aspnetcore-3.1#no-net -core-sdks-were-wykrywano ).

Co więcej, mój projekt wymaga tylko środowiska uruchomieniowego .NET Core SDK.

Czy ktoś wie, co może być problemem?

Po uruchomieniu dotnet - info otrzymałem:

Zestaw .NET Core SDK (odzwierciedlający dowolny plik global.json): Wersja: 3.1.101 Zatwierdzenie: b377529961

Środowisko wykonawcze: Nazwa systemu operacyjnego: Windows Wersja systemu: 10.0.18363 Platforma systemu operacyjnego: Windows RID: win10-x86 Ścieżka podstawowa: C: \ Program Files (x86) \ dotnet \ sdk \ 3.1.101 \

Host (przydatny do obsługi): Wersja: 3.1.1 Zatwierdzenie: a1388f194c

Zainstalowane zestawy .NET Core SDK: 3.1.101 [C: \ Program Files (x86) \ dotnet \ sdk]

Zainstalowane środowisko uruchomieniowe .NET Core: 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. Aplikacja 3.1.1 [C: \ Program Files (x86) \ dotnet \ shared \ Microsoft.WindowsDesktop.App]

Aby zainstalować dodatkowe środowiska wykonawcze .NET Core lub zestawy SDK: https://aka.ms/dotnet-download

Iristan
źródło
Jak wygląda Twój plik Docker? Czy ENTRYPOINTpolecenie odnosi się do poprawnej ścieżki?
Matt Thalman
Tak. Właśnie to rozwiązałem: w pliku dokera miałem aspnetcore-runtime-2.0, ale tej wersji nie znaleziono. Po zmianie na aspnetcore-runtime-2.2 to działa dla mnie.
iristan
.NET Core 2.2 nie jest obsługiwany od grudnia ubiegłego roku. Powinieneś rozważyć aktualizację do wersji 3.1. Najnowsze obsługiwane obrazy można znaleźć na hub.docker.com/_/microsoft-dotnet-core .
Matt Thalman
Rozumiem. Dzięki!
iristan

Odpowiedzi:

5

Dla mnie stało się to, gdy miałem złego ENTRYPOINTw moimDOCKERFILE

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

Upewnij się, że uruchomiłeś poprawną bibliotekę DLL w swoim ENTRYPOINT. Miałem złą nazwę dllpliku.

Krzysztof Madej
źródło