2011-02-14 4 views
0

몇 가지 기본 사항에 문제가 있습니다. Interoptoolkit v2.1이 설치되어 있고이 양식을 vb6 응용 프로그램에서 액세스 할 수 있도록 C#으로 2008 년에이 양식을 만들려고합니다.[interopformproperty]를 사용하면 wrapper.cs 파일 생성을 막을 수 있습니다.

이 양식에 public 속성을 추가하려고합니다. 따라서 속성 위에이 [interopformproperty]을 추가해야한다고 생각합니다.

하지만 이렇게하면 도구 메뉴에서 옵션을 사용하여 래퍼를 생성하려고하면 래퍼가 생성되지 않습니다.

분명히 Google을 잠시 동안 검색했지만 특히 도움이되는 것을 찾을 수 없었습니다. 이것에 대해 아는 사람이 있으면 알려주십시오.

미리 감사드립니다. 건배.

+0

속성에 의해 노출 된 유형이 comvisible입니까? –

+0

나는 잘 모르겠지만 나는 그렇게 생각하지 않는다. 이 특성을 사용하면 vb6에서 C# 폼을로드 할 수 있습니다. – rlee923

+0

어쩌면 그것이 어떤 차이가 있습니까? – rlee923

답변

0

난 항상 내 자신의 질문에 대답 결국 :. D 난 그냥이 일을하고있다 경우에 다른 사람이이 링크에

이동합니다.이 타고 2 파일을 다운로드합니다.

C_Interop_Form.aspx "> http://www.codeproject.com/KB/dotnet/VB6_- C _Interop_Form.aspx

당신은 vs2008을 사용하고 있습니다. dll 파일 및 add 파일을 가져옵니다. 내 문서에

이 파일을 복사 -> 비주얼 스튜디오 2008> 애드

은 메모장과 추가 기능 파일을 열고 버전 번호 8.0 변경 - 저장 지금> *

합니다. vs2008을 다시로드하십시오. vb 대신 C#에서 래퍼 파일을 생성해야합니다.

P.S. 게시물의 주석을 읽는 것이 항상 도움이됩니다. D

+0

나는 마이크로 소프트가 이것을 가져다가 툴킷에 포함시킬 수 있다고 생각하기 때문에 사람들은 래퍼를 생성 할 언어를 선택할 수있다. 나는 포럼을 확인하고 심지어 지원 팀원 중 한 명 @ MS가이 도구에 대한 링크를 제공했음을 의미합니다. 비록 그가 링크 이외의 것을 많이 설명하지는 않았지만. – rlee923

0

com 표시 유형이 interace를 구현하는 경우 서명에서 사용하는 유형이 com으로 표시되면 모든 public 메소드, 속성이 표시됩니다. com 표시 유형이 여러 인터페이스를 구현하는 경우 클래스 정의의 첫 번째 인터페이스가 com 인터페이스로 사용됩니다. 이 동작은 ComDefaultInterfaceAttibute를 사용하여 변경할 수 있습니다.

인터페이스가 구현되지 않은 경우 모든 공개 속성 (com 표시 유형을 노출 함)이 자동으로 표시됩니다. regasm은 모든 public 메소드/propties를 포함하는 com 인터페이스를 자동으로 생성합니다.

당신이 말하는 것처럼 "래퍼 생성 중 ..."나는 이것을 이해하지 못합니다. 닷컴의 어셈블리를 컴파일 한 후 눈에 보이는 유형은 RegAsm을 사용 (프로젝트 속성의 옵션은 "COM interop에 등록하면 활성화되지 않음) 등록

+0

답장을 보내 주셔서 감사합니다 : D. 옵션이 이미 선택되어 있습니다. 그래서 나는 그 명령 행을 사용해야한다고 생각하지 않는다. Btw 나는 래퍼가 .cs 파일을 생성하고 있지만 코드가 VB임을 깨달았습니다 ... interoptoolkit은 혼란 스럽습니까? – rlee923

관련 문제