2

这是我关于stackoverflow的第一个问题,所以我愿意接受建议。

在过去的几个月里,我一直在 Visual Studio Ultimate 2013 上从事 C++/C# 学校项目。该项目是一个机器人模拟器,我们使用一个名为 Noyau.dll 的 dll,它是由老师和实验室助理为我们创建的。我们在 C# 和 C++ 之间使用 P/Invoke 来访问这些库。

直到上周日(3 月 13 日),Visual Studio 才出现问题。我的电脑启动了 Windows 10 的更新,现在当我尝试运行我的程序时,它说:

InterfaceGraphique.exe 中 0x00007FF93DFC1F28 处的第一次机会异常:Microsoft C++ 异常:内存位置 0x00000043C3DFE360 处的 EEMessageException。

InterfaceGraphique.exe 中发生了“System.DllNotFoundException”类型的第一次机会异常 InterfaceGraphique.exe 中发生了“System.DllNotFoundException”类型的未处理异常附加信息:无法加载 DLL“Noyau.dll”:无法加载指定的模块成立。(来自 HRESULT 的异常:0x8007007E)

在它工作和停止工作之间唯一发生的事情是 Windows 10 更新。“Noyau.dll”被编译,它在正确的目录中。该项目适用于我的整个团队。它适用于我的台式电脑。该项目可能很好,我的笔记本电脑似乎是问题所在。

所以当然,我搜索了类似的问题,很多人建议使用我所做的 Dependency Walker。当我使用 Dependency Walker 运行“Noyau.dll”时,我发现大量的 dll 似乎丢失了,但我不知道这些是什么。它们似乎是核心 dll。我可以去开始单独下载它们,但有数百个。

到目前为止我已经尝试过:

  • 我运行了 Visual Studio 的修复工具
  • 我重新安装了 Visual Studio 2013
  • 我下载了 Visual Studio 2013 x64 的 Visual C++ 可再发行包
  • 我运行了 Dependency Walker(我在帖子末尾发布了指向屏幕截图的链接)

我的电脑是运行 Windows 10 Home x64 的戴尔 XPS13 9343。

这是 Dependency Walker 的屏幕截图

如果这看起来像重复,我很抱歉,但我从未见过 Windows 更新破坏了我的 Visual Studio 或我的 dll。


编辑:好的,我改为在我的 .exe 上运行 Dependency Walker。我发现很多dll都丢失了C:\Windows\Microsoft.NET\Framework64\v4.0.30319\

LoadLibraryExW("C:\Windows\Microsoft.NET\Framework64\v4.0.30319\VERSION.dll", 0x0000000000000000, LOAD_WITH_ALTERED_SEARCH_PATH) 返回 NULL。错误:找不到指定的模块 (126)。

我在指定的路径中找不到这些,但我可以在 System32 中找到它们:

  • 版本.dll
  • ole32.dll

为什么Dependency Walker 找不到这两个dll?


最后:

这是一个旧线程,但如果将来有人遇到这个问题,我必须重置我的笔记本电脑并重新安装 VS 来修复它。如果有人遇到此问题并找到更好的解决方案,请随时在此处留下答案。

4

0 回答 0