PortSip SDK C#:Docker 容器中的 DllNotFoundException 而 locally\EC2 运行良好

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

我有一个使用 PortSip 库的 .NET 核心应用程序。到目前为止,在我的 Windows 10 笔记本电脑和安装了 Windows Server 2019 的 EC2 AWS 实例中,一切都在本地运行良好,现在我想在 Docker 容器中进行这项工作。

所以我使用了一个类似于link https://schwabencode.com/blog/2018/08/30/ASP-NET-Core-with-NET-Framework-on-Docker 中提到的 Docker 文件来获得一个 Windows Server Core 图像,同时具有两个 .NET 框架(什么 PortSip需要)和 .NET 核心(我的应用程序需要什么)以及添加的命令来安装 C++ Redistributable。

结果是我在尝试 运行 我的应用程序时遇到以下错误:

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

DLL 在那里!此外,当我将它们更改为 PortSip 的 32 位 DLL 时,错误更改为“试图加载格式不正确的程序”。这意味着可以感觉到 DLL 的存在,但由于某种原因仍然无法加载。 还值得一提的是,与上面提到的空白 EC2 中完全相同的安装(.NET 和 C++ 可再分发)应用程序工作。

我错过了什么?

提前致谢

通过将两个 DLL,C:\Windows\System32\edputil.dll 和 C:\Windows\System32\msdmo.dll 从我的本地计算机复制到那个 docker 图像来解决。