首页 > 解决方案 > 运行时 System.DLLNotFoundException(从 Visual Studio 2017 开始 - x86,调试)

问题描述

在运行我的程序时,当我打开主窗口时,我得到一个 System.DllNotFoundException。我从 vs 得到的完整异常是:

System.DllNotFoundException
  HResult=0x80131524
  Message=Die DLL "FTDIInterface.dll": Das angegebene Modul wurde nicht gefunden. (Ausnahme von HRESULT: 0x8007007E) kann nicht geladen werden.
  Source=FTDILib
  StackTrace:
   at FTDILib.FTDID2XX_Interface.FTDI_Stop()
   at FTDILib.SerialConnection.FTDISerial.Stop()
   at FTDILib.SerialConnection.FTDISerial.Finalize()

我检查了 dll 是否在正确的目录中。然后我用

dumpbin /dependents FTDIInterface.dll

检查依赖关系并得到两个:FTD2XX.dll 和 KERNEL32.dll

FTD2XX.dll 与 FTDIInterface.dll 存在于同一路径中。它还有其他四个依赖项:

SETUPAPI.dll、KERNEL32.dll、USER32.dll 和 ADVAPI32.dll

所有这些都存在于 C:\Windows\system32 中,我将其添加到项目属性中的引用路径中。

为什么我会收到此异常,我该如何解决?谢谢

标签: windowsvisual-studiodll

解决方案


我通过在 System32 和 SysWOW64 中放置 FTDIInterface.dll 和 ftd2xx.dll 的副本解决了这个问题。我不禁想,我必须将自定义库放在系统文件夹中,这很奇怪。有什么想法吗?


推荐阅读