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
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.
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.
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"]
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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With