【发布时间】:2013-06-20 02:43:00
【问题描述】:
我有一个简单的应用程序,它调用 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");
该调用在指定的机器上根本不起作用,但在我尝试过的所有其他机器上都起作用。
【问题讨论】:
标签: .net dll-injection