Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Error: It was not possible to find any installed .NET Core SDKs

When I run the command docker run -i -t myProject it shows error:

It was not possible to find any installed .NET Core SDKs Did you mean to run .NET Core SDK commands? Install a .NET Core SDK from: https://aka.ms/dotnet-download

However, I do have the .NET Core SDK installed and the PATH is correct (followed here: https://learn.microsoft.com/en-us/aspnet/core/test/troubleshoot?view=aspnetcore-3.1#no-net-core-sdks-were-detected).

What's more, my project only needs runtime .NET Core SDK.

Does anyone know what might be the issue?

When running dotnet --info I got:

.NET Core SDK (reflecting any global.json): Version: 3.1.101 Commit: b377529961

Runtime Environment: OS Name: Windows OS Version: 10.0.18363 OS Platform: Windows RID: win10-x86 Base Path: C:\Program Files (x86)\dotnet\sdk\3.1.101\

Host (useful for support): Version: 3.1.1 Commit: a1388f194c

.NET Core SDKs installed: 3.1.101 [C:\Program Files (x86)\dotnet\sdk]

.NET Core runtimes installed: 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]

To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download

like image 972
iristan Avatar asked Feb 07 '20 18:02

iristan


4 Answers

For me it happened when I had wrong ENTRYPOINT in my 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"]

Make sure that you run correct dll in your ENTRYPOINT. I had wrong name of dll file.

like image 200
Krzysztof Madej Avatar answered Nov 15 '22 04:11

Krzysztof Madej


I had this issue, but my ENTRYPOINT was correct. The issue was with stale or a corrupt mcr.microsoft.com/dotnet/core/sdk:3.1 image. So I purged everything and rebuilt the docker image.

For those unaware, this is how to do that:

Remove all docker containers: docker rm -f $(docker ps -a -q)
Remove all docker images:     docker rmi -f $(docker images)

After that, it worked fine.

like image 26
Silent Kay Avatar answered Nov 15 '22 02:11

Silent Kay


In case of linux, the case sensitivity is important. In my case the problem was with (btw. it was working as Windows container)

ENTRYPOINT ["dotnet", "backendapi.dll"]

as the library name was written with different case. It was fixed once the entrypoint got named correctly as

ENTRYPOINT ["dotnet", "BackendAPI.dll"]
like image 6
mybrave Avatar answered Nov 15 '22 02:11

mybrave


I followed the .Net Core app tutorial given by Microsoft, and ran into the same issue. I had the docker file set up as:

FROM mcr.microsoft.com/dotnet/aspnet:3.1
COPY bin/release/netcoreapp3.1/publish/ App/
WORKDIR /App
ENTRYPOINT ["dotnet", "NetCore.Docker.dll"]

but it did not pull the mcr.microsoft.com/dotnet/aspnet image to base my build on (I'm assuming, because I'm not an expert on this matter yet). I did a pull request for the aspnet image:

docker pull mcr.microsoft.com/dotnet/aspnet:3.1

and it created this image. I then built my project's docker image, and created my container. My container and app functioned as intended after the abovementioned.

like image 5
Stephan Schoeman Avatar answered Nov 15 '22 02:11

Stephan Schoeman