输入初始化exception

我创建了imageHolder类:

public class ImageHolder : Image { private String imagePath; public ImageHolder(String path):base(path) { this.imagePath = path; } public String imgPathProperty { get { return imagePath; } set { imagePath = value; } } } 

我创建类的实例并初始化它,如下所示:

 private ImageHolder originalImageHolder; originalImageHolder = new ImageHolder(openFileDialog.FileName); 

在运行时我得到这个例外:

‘Emgu.CV.CvInvoke’的类型初始值设定项引发了exception。

在此处输入图像描述

这是Solution Explorer窗口:

在此处输入图像描述

任何想法为什么我得到这个例外,我该如何解决它?

先感谢您。

每当静态构造函数抛出exception时,或者每当您尝试访问静态构造函数引发exception的类时,就会引发TypeInitializationException (您看到的exception) – 其InnerException属性是包含exception详细信息的属性实际上被抛出 – 这是你需要调查的例外。

在这种情况下,从您的屏幕截图,问题似乎是找不到DLL“opencv_core240.dll”。 这可能有很多原因

  • 找不到DLL
  • 找不到DLL的依赖项之一
  • DLL的图像格式不正确(32位而不是64位)

我建议你看看这个问题 ,看看那里的任何建议是否对你有所帮助。

VS项目属性页面

检查这个字段对我有用。 在项目 →属性→构建(主/启动项目)下

我通过重新安装MSVCRT 9.0 SP1 x86解决了这个问题