I have a problem and I can’t get any further. I have an Edge Box with Docker installed. Now I want to run a C# application on this Edge Box. The Edge Box itself does not have an Internet connection, which is why I create the Docker image locally on the PC (AMD architecture) and then save it as a .tar file and then import it to the Edge Box via Portainer. However, when I run this image on the Edge Box, I get the error message:
"Unhandled exception. System.IO.FileNotFoundException: Could not load file or assembly '/Name.dll'. The System cannot find the file specified.
As already mentioned, the PC has an AMD architecture, the Edge Box an arm32 architecture. So I create the image like this:
I changed your post to use code blocks. Please read the following tips to format your post properly next time:
Since this is a “file not found” error, it has nothing to do with the architecture probably. If running dotnet apps on ARM were impossible, you could not pull a compatible image. It is possible however that Name.dll is not available for ARM. I would be surprised, but it is possible.
Have you tried to run the container on AMD architecture? If the DLL is missing on AMD too, I can’t tell you which base image contains it or how you can download one for ARM.
Not really. You need someone who works with dotnet containers on ARM. If you can build it and run it on AMD without platform option, then I guess Name.dll is not available for ARM or if it is, you need to download it from somewhere and install it during the build.
Normally I would say that you should ask the maintainer of the image. In this case the maintainer is Microsoft. Maybe you could try it on a Microsoft forum.
I also noticed that you mentioned arm32, not arm64. Is your PC AMD64 or AMD32? If you have AMD64, then maybe the problem is thatit is not available for a 32 bit CPU.
P.S.: I changed the title to fix a typo and addthe name of the DLL so it will be less general.