내 제목이 충분하지 않을 수 있습니다. VB6 매크로를 개발할 수있는 응용 프로그램과 함께 작업합니다. 이 매크로는 내가 개발 한 .NET DLL로 작업해야합니다. x86 모드에서 응용 프로그램을 시작하고 매크로를 실행하려고하면 정상적으로 작동하며 클래스의 메서드에 액세스 할 수 있습니다.x64의 외부 VB6 매크로에서 호출 할 때 AnyCPU COM 라이브러리 (.tlb 파일)가 작동하지 않습니다.
하지만 64 모드에서 동일한 기능을 수행 할 때이 오류가 : "Automation server can't create object"
정말로 이상한 것은 내가 64에 문제가 될만한 86 unnmanaged COM DLL을를 사용 하지 해요이다 건축물. 내가 할 때 : "Dim myClass as new MyClass.App"
작동하지만 예를 들어 myClass.Start()
메서드를 호출 할 때이 오류가 발생합니다. 그리고 내 MsgBox('hello world')
을 내 Start
메소드에 넣으려고했는데 내 코드와 아무런 관련이 없다는 것을 확인했습니다. 매크로를 내 수업에 TLB
파일로 연결하고 있습니다.
RegAsm
으로 내 DLL을 등록하려고했지만 x64에서 여전히 작동하지 않습니다. 내 TLB
의 x86 및 x64 버전을 생성하는 방법이 있습니까? 그런 다음 두 참조를 모두 추가하고 x64 버전에서 Start 메서드에서 오류가 발생하면 x86 메서드를 호출합니다 (완벽한 솔루션은 아니지만 여전히 ..).
이 아이디어를 어떻게 해결할 수 있습니까?
Regasm.exe의 64 비트 버전 –
대답을 제거한 이유는 무엇입니까? 내가 코멘트 한 것처럼 64 비트/.NET 4.0 버전의 RegAsm을 사용했지만 여전히이 오류가 발생합니다 ... –