13

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'の型初期化子が例外をスローしました。

ここに画像の説明を入力してください

ソリューションエクスプローラーウィンドウは次のとおりです。

ここに画像の説明を入力してください

なぜこの例外が発生するのか、どうすれば修正できますか?

前もって感謝します。

4

3 に答える 3

25

TypeInitializationException (表示されている例外) は、静的コンストラクターが例外をスローするたびに、または静的コンストラクターが例外をスローしたクラスにアクセスしようとするたびにスローされます。そのInnerExceptionプロパティは、例外の詳細を含むプロパティです。実際にスローされました - これは調査する必要がある例外です。

この場合、スクリーンショットから問題は、DLL「opencv_core240.dll」が見つからなかったことです。これにはいくつかの理由が考えられます

  • DLL が見つかりませんでした
  • DLL の依存関係の 1 つが見つかりませんでした
  • DLL のイメージ形式が正しくありません (64 ビットではなく 32 ビット)。

この質問を見て、そこにある提案が役立つかどうかを確認することをお勧めします。

于 2012-09-14T13:16:37.723 に答える
2

VS プロジェクトのプロパティ ページ

このフィールドをチェックすると、うまくいきました。プロジェクト→プロパティ→ビルド(メイン/スタートアッププロジェクト)の下

于 2014-10-08T02:42:11.640 に答える
1

MSVCRT 9.0 SP1 x86を再インストールして問題を解決しました

于 2012-09-16T22:08:35.737 に答える