我有一个简单的应用程序调用 Leadtools.Annotations.AnnCodecs.SaveToTag(AnnContainer container, AnnCodecsTagFormat 格式)。该方法尝试使用 System.Reflection.Assembly 加载 Leadtools.Kernel.Annotations.dll,但该操作在特定机器上失败并出现以下错误
System.IO.FileNotFoundException:找不到指定的模块。(来自 HRESULT 的异常:0x8007007E
我已经使用了 ProcMon 并验证了 QueryOpen 和 CreateFile 导致对 dll 的成功。我还在分析模式下使用了 DependencyWalker,但没有运气。它唯一找不到的 dll 是 IESHIMS,它也从可以运行该应用程序的机器中丢失。
该应用程序在其他机器上运行没有错误。
更新
使用 ILSpy 我能够看到有问题的行是
Assembly.LoadFrom("Leadtools.Kernel.Annotations");
该调用在指定的机器上根本不起作用,但在我尝试过的所有其他机器上都起作用。