2008-09-24 5 views
2

vb.net (2008 express) 프로젝트에 추가하려고하는 타사 COM DLL이 있습니다. 나는 C : \ WINDOWS \ system32 \에 dll을 넣고 "regsvr32 vxncom.dll"을 등록했다. 프로젝트에 가서 참조를 추가하고 COM 탭으로 이동하면 사용 가능한 구성 요소/라이브러리 목록에 나타납니다. 그러나 "vxncom 4.0 Library"에 대한 참조를 추가 할 수 없으며 ActiveX 형식 라이브러리 'C : \ WINDOWS \ system32 \ vxncom.dll'을 (를) 등록 할 수 없습니다. "라는 오류 메시지가 나타납니다.VB.NET 프로젝트에 COM 구성 요소 참조를 추가 할 때의 문제

이 프로젝트는 내가 dll을 배포하는 사람들이 제공하는 예제입니다. 또한 새 (빈) vb.net 프로젝트를 시작할 때 구성 요소를 추가 할 수 없습니다.

UPDATE 1 : 인해 누락 수출에 적어도 하나의 모듈 해결되지 않은 수입이 있습니다

오류 : 여기 문제의 DLL에 종속 워커를 실행하고

내가 오류 로그에있어 무엇 함수가 암시 적으로 종속 모듈에 있습니다.

문제의 모듈은 libeay32.dll로 보이지만 이미 C : \ WINDOWS \ system32에 있습니다.

업데이트 2 :

내가 openssl site에 가서 다운로드하고 않으면 LIBEAY32.dll를 업데이트하는 자신의 설치 프로그램을 사용했습니다. vxncom.dll에서 종속성 워커를 다시 실행했는데 오류가 없었습니다. Visual Studio로 돌아 왔지만 여전히 참조를 추가하고 싶지 않았습니다. 이전과 똑같은 오류가 발생했습니다.

답변

3

아마도 VB가 등록하려고 시도하는 DLL은 존재하지 않는 다른 DLL에 의존합니다. 이 확인 (또는 배제) 1 업데이트하려면 http://www.dependencywalker.com/

응답에서 무료 종속성 워커 도구를 사용하여 할 수 있습니다 : 시스템에 설치된 않으면 LIBEAY32.dll의 버전과 일 사이에 불일치가처럼 는 소리가 귀하의 구성 요소가 기대하는 것입니다 - 당신의 구성 요소가 거기에없는 기능을 찾고 있다고 말하는 것입니다. libeay32의 버전 번호를 확인한 다음 공급 업체에 문의하여 지원하는 버전을 묻습니다.

+0

dll에서 종속성 워커를 실행 한 결과는 다음과 같습니다. 오류 로그에 무엇이 있습니까? 오류 : 암시 적으로 종속 모듈에서 내보내기 기능이 없어서 적어도 하나의 모듈에 가져 오기가 완료되지 않았습니다. 해당 모듈은 libeay32.dll로 보이지만 이미 C : \ WINDOWS \ sy ...에 있습니다. –

0

tlbimp.exe를 사용하여 자신의 PIA를 만들면 IDE에 의존하는 대신 자세한 오류 메시지가 나타날 수 있습니다.

0

당신이 그것을 고치지 않았거나 대안으로 옮겼다 고 가정하십시오; 그리고 jeffm의 대답은 libeay32.dll이 운영체제에 올바르게 등록되어있는 것입니까? 재설치/복구는 일반적으로 문제 유형을 수정합니다. COM 개체가 가끔씩 다른 이유로 등록을 취소하는 MS Office 및 MapPoint를 많이 보았습니다.

관련 문제