PortSip SDK C#: DllNotFoundException in Docker container while locally\EC2 works well

0

I have a .NET core application that uses the library of PortSip. So far everything worked fine both locally in my Windows 10 laptop and in an EC2 AWS instance with Windows Server 2019 installed, and now I would like to make this work in a Docker container.

So I used a Dockerfile similar to what's mentioned it this link https://schwabencode.com/blog/2018/08/30/ASP-NET-Core-with-NET-Framework-on-Docker to have a Windows Server Core image with both .NET framework (what PortSip needs) and .NET core (what my app needs) as well as added commands to install C++ Redistributable.

The result is that I'm getting the following error when trying to run my app:

Unhandled exception. System.DllNotFoundException: Unable to load DLL 'portsip_sdk.dll' or one of its dependencies: The specified module could not be
 found. (0x8007007E)

The DLLs are there! In addition, when I change them to PortSip's 32-bit DLLs, the error changes to "An attempt was made to load a program with an incorrect format". That means the existence of the DLL is felt, but still, for some reason, cannot be loaded. Also worth mentioning that with the exact same installations (the .NETs and the C++ redistributable) in a blank EC2 as mentioned above the app works.

What am I missing?

Thanks in adavance

docker
windows-server-container
portsip
asked on Stack Overflow Dec 2, 2020 by DanielY • edited Dec 2, 2020 by DanielY

1 Answer

0

Solved by copying two DLLs, C:\Windows\System32\edputil.dll and C:\Windows\System32\msdmo.dll from my local machine to that docker image.

answered on Stack Overflow Dec 6, 2020 by DanielY

User contributions licensed under CC BY-SA 3.0