我有一个使用PortSip库的.NET核心应用程序。到目前为止,无论是在我的Windows10笔记本电脑上还是在安装了Windows Server2019的Docker实例中,一切都运行得很好,现在我想让它在EC2容器中工作。
所以我使用了一个类似于这里提到的链接https://schwabencode.com/blog/2018/08/30/ASP-NET-Core-with-NET-Framework-on-Docker的Server文件来创建一个包含.NET框架( PortSip需要的)和.NET核心(我的应用需要的)的Windows Server核心镜像,同时还添加了安装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中,使用完全相同的安装( .NETs和C++可再发行版本),该应用程序可以正常工作。
我遗漏了什么?
感谢您的支持
发布于 2020-12-06 18:40:01
通过将C:\Windows\System32\edputil.dll和C:\Windows\System32\msdmo.dll这两个DLL从我的本地计算机复制到该docker映像即可解决此问题。
https://stackoverflow.com/questions/65102597
复制相似问题