首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >无法加载dll文件-异常0x8007007E

无法加载dll文件-异常0x8007007E
EN

Stack Overflow用户
提问于 2014-01-27 14:59:14
回答 1查看 51.5K关注 0票数 3

我正在使用C#中的国家仪器测量工作室,在将我的应用程序部署到特定的计算机(运行Windows 7)时遇到了一些问题。我试过在国家仪器论坛上询问,但还没有任何解决办法--这里有人能给我一些建议吗?

实际上,我已经在多台计算机上部署了几次这个应用程序,但是在这个特定的例子中,我在运行程序时收到了一个错误-

"System.DllNotFoundException:无法加载DLL 'nianlys.dll':找不到指定的模块。( HRESULT: 0x80070007E例外)

  • 我已经确保nianlys.dll存在于C:\Program (x86)\National \Shared\Analysis中。
  • 我已经确保了libiomp5md.dll和LV110000_BLASLAPACK.dll (来自mkl.msm的文件(nianlys.dll有一个对mkl.msm的依赖))的存在。nianlys.dll也依赖于nimetautils.msm,但我不确定其中包含了哪些dlls。
  • 我已经通过以管理员身份运行setup.exe来确保程序的安装(与运行生成的.msi不同,请参阅这里)。
  • 我已经确保了所讨论的计算机是最新的,通过windows更新对.net框架进行更新。
  • 我多次尝试重新安装这个程序,有时是用一个新编译的安装程序。
  • 我尝试手动将64位nianlys.msm添加到安装项目中--这会引发一个错误,因为安装项目的TargetPlatform属性设置为x86。当然,32位版本已经存在于检测到的依赖项中。
  • 有趣的是,从C:\Program (x86)\National \Shared\Analysis获取一份nianlys.dll副本,并将其插入安装程序的目录中,抛出一个不同的错误--在本例中,错误是: 试图加载格式不正确的程序。( HRESULT: 0x8007000B例外)
  • 从另一台计算机(默认位置C:\Program \National\Shared\Analysis)获取64位版本的nianlys.dll的副本,并将其插入到安装该程序的目录中,引发第三种错误-- "System.DllNotFoundException:无法加载DLL 'nianlys.dll':动态链接库初始化例程失败。( HRESULT: 0x8007045A除外)。“应该注意的是,在程序工作的机器上安装程序之前,这个.dll是存在的,但在抛出问题的目标计算机上不存在。
  • 采用相同的64位nianlys.dll并将其插入到另一台计算机上找到的位置,C:\Program \National\Shared\Analysis无法解决原始错误。
  • 更有趣的是,我尝试在程序工作的计算机上复制错误--删除x64版本的nianlys.dll会弹出原来的HRESULT: 0x80070007E错误,而删除x86版本会导致运行程序时出现windows安装程序。
  • 在程序没有问题的计算机上,尽管目标平台被设置为x86,windows任务管理器似乎并不表示程序是32位(程序名上有*32后缀)。从这一切看来,nianlys.dll在其x64和x86版本中都存在一些问题,尽管目标平台仅为x86。

关于我可以尝试解决这个问题的事情,我的想法已经不多了。

EN

回答 1

Stack Overflow用户

发布于 2014-01-27 15:17:42

它可能是由nianlys.dll的受抚养人引起的。您可以使用过程监控器 (系统内部工具之一)诊断此问题。它可以捕获加载/卸载DLL活动,因此如果有问题,您可以在日志中找到它。

使用此工具时一定要使用过滤器,否则日志文件将是巨大的。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21384067

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档