解决“无法加载DLL“cvextern”:找不到指定模块”问题
1. 问题描述:
运行代码时弹出报错:System.TypelnitializationException:“Emgu.CV.CvInvoke"的类型初始值设定项引发异常。“内部异常 DllNotFoundException: 无法加载DLL"cvextern”:找不到指定的模块。
2. 解决方法:
方法一:手动导入相应的dll
- 工程缺cvextern.dll,将相应dll(EmguCv安装目录下emgucv-windesktop 4.5.4.4788\libs\x64\cvextern.dll)复制到debug目录下,注意如果用的是X64编译的,则应该复制在X64\debug目录下;如果没安装EmguCV可能在电脑上找不到cvextern.dll。
- dll版本不对,重新复制正确的版本;
方法二:通过Nuget工具导入库.runtimes.window库。
- 若是用NuGet工具导入的EmguCV库,往往是未导入.runtimes.window库;
- 若是用NuGet工具导入的EmguCV库,如果导入的版本过高,则可能安装不了.runtimes.window库;
注: 若是上述两种方法都不行,此时需要把目标平台改为X64即可(并且取消勾选“首选32位”)。
可(并且取消勾选“首选32位”)。