我有一个在本地 Windows 10 机器上运行良好的 .NET 6 服务。当我使用使用这些图像的多阶段 Dockerfile 将其部署在 Docker 上时:
mcr.microsoft.com/dotnet/aspnet:6.0-windowsservercore-ltsc2019 AS base
mcr.microsoft.com/dotnet/sdk:6.0 AS build
...它无法加载我的服务加载的本机 DLL(确切地说是 Xbim.Geometry.Engine64)。
我得到错误:
System.IO.FileLoadException: Failed to load Xbim.Geometry.Engine64.dll
---> System.IO.FileNotFoundException: Could not load file or assembly 'Xbim.Geometry.Engine.dll, Culture=neutral, PublicKeyToken=null'. The specified module could not be found.
File name: 'Xbim.Geometry.Engine.dll, Culture=neutral, PublicKeyToken=null'
这个 DLL 存在于我的运行目录中。
我将带有二进制文件的工作正常文件夹从本地计算机复制到容器中,但出现此错误!当我将失败的文件夹从容器复制到本地计算机时,它起作用了!
我究竟做错了什么?我的容器中可能缺少一些东西吗?