我在我的 VB .Net 程序中添加了 VC++ 库,例如:
<DllImport("KMpeg4.dll", SetLastError:=True, CharSet:=CharSet.Auto)> _
Shared Function KOpenInterface() As System.IntPtr
End Function
我在运行时遇到错误:
无法加载 DLL 'KMpeg4.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)
我已经把这个库放在任何地方,包括system32
,仍然没有运气,这意味着它缺少依赖库KMpeg4.dll
。
所以我运行了 Dependency walker,它给了我丢失的库:
API-MS-WIN-CORE-COM-L1-1-0.DLL API-MS-WIN-CORE-WINRT-ERROR-L1-1-0.DLL API-MS-WIN-CORE-WINRT-L1-1-0.DLL API-MS-WIN-CORE-WINRT-ROBUFFER-L1-1-0.DLL API-MS-WIN-CORE-WINRT-STRING-L1-1-0.DLL API-MS-WIN-SHCORE-SCALING-L1-1-0.DLL DCOMP.DLL GPSVC.DLL IESHIMS.DLL
以及不良的链接功能:
c:\windows\system32\API-MS-WIN-CORE-THREADPOOL-L1-1-0.DLL c:\windows\system32\OLE32.DLL c:\windows\system32\DWMAPI.DLL c:\windows\system32\IEFRAME.DLL c:\windows\system32\IMM32.DLL c:\windows\system32\MFPLAT.DLL c:\windows\system32\NDFAPI.DLL c:\windows\system32\USERENV.DLL c:\windows\system32\UXTHEME.DLL
依赖walker给出以下错误:
警告:至少没有找到一个延迟加载依赖模块。警告:由于延迟加载依赖模块中缺少导出功能,至少有一个模块存在未解析的导入。
我已经安装了 Microsoft VC++ 2005,2008,2010 x86 和 x64 以及 .Net framework 4。
我也尝试使用 sysinternal 进程监视器查看弹出窗口,但在程序收到错误异常之前KMpeg4.dll
它没有加载KMpeg4.dll
这些库可能来自哪个包的任何想法?
或者,如何解决这个问题?