输入初始化异常

问题描述 投票:13回答:3

我创建了imageHolder类:

public class ImageHolder : Image<Bgr, Byte>
{   
    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'的类型初始值设定项引发了异常。

这是Solution Explorer窗口:

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

先感谢您。

c# .net opencv constructor emgucv
3个回答
24
投票

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

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

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

我建议你看看this question,看看那里的任何建议是否对你有所帮助。


2
投票

检查这个字段对我来说是个窍门。在项目→属性→构建(主/启动项目)下


1
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.