我有一个简单的应用程序调用Leadtools.Annotations.AnnCodecs.SaveToTag(AnnContainer容器,AnnCodecsTagFormat格式)。该方法尝试使用System.Reflection.Assembly加载Leadtools.Kernel.Annotations.dll,但操作在特定计算机上失败,并出现以下错误
System.IO.FileNotFoundException:找不到指定的模块。 (HRESULT的例外情况:0x8007007E
我已经使用了ProcMon并验证了QueryOpen和CreateFile对dll的成功结果。我还在分析模式中使用了DependencyWalker而没有运气。唯一找不到的是IESHIMS,它也可以运行应用程序的机器中缺少。
应用程序在其他计算机上运行时没有错误。
使用ILSpy我能够看到违规行
Assembly.LoadFrom("Leadtools.Kernel.Annotations");
该调用在指定的计算机上无法正常工作,但可以在我尝试过的所有其他计算机上运行。
答案 0 :(得分:1)
这是来自LEADTOOLS支持的Daoud。 我发布了有关此问题的更多详细信息,因为Reid联系了我们和我与他合作的一位同事。
使用的版本是v14.5,已经过时且已停产。使用的Windows版本是Windows Server 2008标准。 v14.5从未正式支持Windows 2008。 Server 2008在Windows Vista之后问世,v14.5也没有正式支持。但是,我们修补它以使其兼容。
至于你的问题,我可以从故障单中看到,在使用最新的设置后,问题得到解决,一切都运行良好。
如果您在使用LEADTOOLS时遇到任何问题,请随时与我们联系。
LEADTOOLS支持
答案 1 :(得分:1)
使用C ++编写相同的测试文件后问题已解决。使用C ++版本,测试应用程序抛出异常,指定未找到MSVCP71.dll。
This application has failed to start because MSVCP71.dll was not found.
Re-installing the application may fix this problem.
具体的dll确实不是重点。关键是这种问题可以通过这种方法轻松解决。