Please Enable JavaScript!
Gon[ Enable JavaScript ]

[C#] 자바스크립트에서 C# 함수호출시 에러, ObjectForScripting 클래스는 COM …

 

환경 : Visual Studio 2013

 

“ObjectForScripting 클래스는 COM 에 노출되어야 합니다. 개체가 Public 인지 확인하거나 해당 클래스에 ComVisible 특성을 추가하십시요. “ 에러가 날 때 해결 방법에 대한 내용입니다. 영문 에러는 다음과 같습니다. 아래 내용으로 해결되지 않는다면 영문으로 구글링 하시기 바랍니다.

 

ObjectForScripting's class must be visible to COM. Verify that the object is public, or consider adding the ComVisible attribute to your class

에러 화면은 다음과 같습니다. 에러 문장안에 해결법이 있습니다.

먼저 ObjectForScripting COM에 노출을 시켜야 된다는 문장입니다. C# 코드에서 Webbrowser 컨트롤 ObjectForScripting 속성에 this 를 셋팅합니다.

 

this.wbDaumMap.ObjectForScripting = this;

 

 

두번째는 개체가 public 인지 확인하거나 입니다. 호출 함수를 public 로 바꿉니다.

 

세번째는 “ComVisible 특성을 추가하십시요인데 COM 을 사용할려면 ComVisible 속성을 변경해야 합니다. 속성을 변경하기 위해 왼쪽메뉴 Properties > AssemblyInfo.cs 로 갑니다.

 

파일의 소스를 열어서 ComVisible 코드로 갑니다. 그리고 false true 로 변경합니다. 이렇게 변경하고 나서 다시 실행하시면 정상적으로 동작하게 됩니다.

 

Posted by 녹두장군

댓글을 달아 주세요