2012-09-14 21 views
12

私は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'の型初期化子が例外を送出しました。ここで

enter image description here

ソリューションエクスプローラウィンドウです:

enter image description here

私はこの例外を取得し、どのように私はそれを修正することができる理由の任意のアイデア?

ありがとうございます。

+2

opencv_core240.dllが見つかりません。それは同じフォルダ内にある必要がありますか? – zimdanen

+0

(これには受け入れられた回答がなかったので)正確にはこの複製ではありませんが、[この他の質問]に関する情報の一部(http://stackoverflow.com/questions/10930610/opencv-unmanaged-dlls-not-found- asp-net)と答えがあなたのために働くかもしれません。 –

+1

@zimdanenが言ったことを繰り返して展開するために、InnerExceptionテキストは、DLL zimdanenがロードできないと述べています。説明については、http://stackoverflow.com/questions/2066180/the-specified-module-could-not-be-found-0x8007007eを参照してください。 – akton

答えて

21

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

この場合、スクリーンショットから、DLL「opencv_core240.dll」が見つかりませんでした。これは多くの理由DLLが正しくない画像フォーマットで

  • たが見つかりませんでしたDLLの依存関係の

    • DLLが見つかりませんでした
    • つ(32ビットなどのためかもしれません64ビットに反対)

    私はそこにある助言があなたに役立つかどうかを調べるためにthis questionを見てみることをお勧めします。

  • 1

    VS Project Properties Page

    を再インストールすることで問題を解決しました。 プロジェクト→プロパティ→ビルド(メイン/スタートアッププロジェクト)

    関連する問題