Ошибка: не удалось найти какие-либо установленные .NET Core SDK

14

Когда я запускаю команду, docker run -i -t myProjectона показывает ошибку:

Не удалось найти какие-либо установленные .NET Core SDK. Вы хотели запускать команды .NET Core SDK? Установите .NET Core SDK по адресу : https://aka.ms/dotnet-download

Тем не менее, у меня установлен .NET Core SDK, и PATHон правильный (см. Здесь: https://docs.microsoft.com/en-us/aspnet/core/test/troubleshoot?view=aspnetcore-3.1#no-net -core-sdks-были обнаружены ).

Более того, мой проект требует только времени выполнения .NET Core SDK.

Кто-нибудь знает в чем может быть проблема?

При запуске dotnet --info я получил:

.NET Core SDK (отражающий любой global.json): Версия: 3.1.101 Фиксация: b377529961

Среда выполнения: Имя ОС: Версия ОС Windows: 10.0.18363 Платформа ОС: RID Windows: win10-x86 Базовый путь: C: \ Program Files (x86) \ dotnet \ sdk \ 3.1.101 \

Хост (полезно для поддержки): Версия: 3.1.1 Фиксация: a1388f194c

Установленные .NET Core SDK: 3.1.101 [C: \ Program Files (x86) \ dotnet \ sdk]

Установленные среды выполнения .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. Приложение 3.1.1 [C: \ Program Files (x86) \ dotnet \ shared \ Microsoft.WindowsDesktop.App]

Чтобы установить дополнительные среды выполнения .NET Core или SDK: https://aka.ms/dotnet-download

iristan
источник
Как выглядит ваш Dockerfile? Является ли ENTRYPOINTкоманда ссылки на правильном пути?
Мэтт Талман
Да. Только что решил: в dockerfile у меня был aspnetcore-runtime-2.0, но эта версия не найдена. После того, как я перехожу на aspnetcore-runtime-2.2, он работает для меня.
iristan
.NET Core 2.2 больше не поддерживается с декабря прошлого года. Вы должны рассмотреть возможность обновления до 3.1. См. Hub.docker.com/_/microsoft-dotnet-core для последних поддерживаемых изображений.
Мэтт Талман
Понял. Спасибо!
iristan

Ответы:

5

Для меня это случилось, когда я ошибся ENTRYPOINTв своемDOCKERFILE

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

Убедитесь, что вы используете правильный DLL в своем ENTRYPOINT. У меня было неправильное имя dllфайла.

Кшиштоф Мадей
источник