Error Error 'OpenCvSharp.Internal.NativeMethods'의 형식 이니셜라이저에서 예외를 Throw했습니다.
페이지 정보
본문
엔지엠 디자이너(NGM Designer)에서 제목과 같은 에러 메세지가 표시되는 경우 해결 방법입니다.
[ ※ 필독 - 엔지엠 디자이너를 개발하기 위한 환경 구성 ]
'OpenCvSharp.Internal.NativeMethods'의 형식 이니셜라이저에서 예외를 Throw했습니다.
에러 내용을 보려면, 디자이너에서 아래와 같이 메세지를 받을 수 있어야 합니다.
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace DesignerTest
{
public partial class Form1 : Designer.ComponentDefault.MainView
{
public Form1()
{
InitializeComponent();
this.IsOutput = true;
this.ShowDebugOutput = true;
this.ShowConditionOutput = true;
}
public override void WriteOutput(string message)
{
this.richTextBox1.Invoke((Action)delegate
{
this.richTextBox1.AppendText(message);
});
}
}
}
이 에러가 발생하는 이유는 C로 만들어진 OpenCV 확장 모듈이 없어서 발생합니다. 디자이너를 설치한 폴더로 이동해보면 아래와 같이 플렛폼(x64, x86) 별 폴더가 있습니다.
디자이너 프로젝트의 플랫폼에 맞는 폴더에 들어가세요. 프로젝트의 플랫폼을 확인하려면, 프로젝트에서 우클릭 후 속성을 선택하세요. 그리고, 아래 그림과 같이 빌드 탭을 눌러보면 플랫폼 대상에서 확인이 가능합니다. 기본적으로 32비트입니다. 플랫폼 대상을 Any CPU가 아닌 x64로 변경하면 64비트 프로그램이 됩니다.
플랫폼을 확인했으면 해당 폴더로 들어가세요. 아래와 같이 3개의 파일이 보입니다.
이 3개의 파일을 모두 복사 해줍니다. 그리고, 비주얼 스튜디오에서 프로젝트의 폴더(파일 탐색기에서 폴더 열기)로 이동하세요.
위에서 복사한 3개의 파일을 프로젝트 루트에 붙여넣기 합니다.
①모든 파일 표시를 체크하고, ②새로 고침을 눌러보세요. 그러면, ③3개 파일이 표시됩니다.
아래 그림처럼 3개 파일을 콘트롤키 누른 상태로 모두 선택합니다. 그리고, 우클릭하면 프로젝트에 포함 메뉴가 보일겁니다. 이걸 클릭하세요!
한번 더 우클릭한 후 속성을 선택하세요.
출력 디렉터리에 복사에서 새 버전이면 복사를 선택 해줍니다.
간단한 이미지 매치 액션을 테스트 해보세요. 아래와 같이 정상적으로 처리되는걸 확인할 수 있습니다.
참고로, 로그를 출력하는 메소드는 아래 코드를 사용하세요^^
public override void WriteOutput(string id, string description, string message)
{
this.richTextBox1.Invoke((Action)delegate
{
this.richTextBox1.AppendText(id ?? "");
this.richTextBox1.AppendText(description ?? "");
this.richTextBox1.AppendText(message + Environment.NewLine);
});
}
개발자에게 후원하기
추천, 구독, 홍보 꼭~ 부탁드립니다.
여러분의 후원이 빠른 귀농을 가능하게 해줍니다~ 답답한 도시를 벗어나 귀농하고 싶은 개발자~
감사합니다~
- 이전글파이썬 처음부터 다시 실행하는 방법. (goto) 22.10.09
- 다음글마이크로소프트 팀즈 설치 및 무료 이용 방법. (How to install and use Microsoft Teams for free.) 22.10.02
댓글목록
등록된 댓글이 없습니다.