지금 몇 시간 동안이 문제가 발생했습니다. 나는 누군가가 이와 비슷한 문제를 겪기를 희망한다..Net (C#) dll을 호출하는 VB6 프로젝트 디버그
우리는 VS2010을 사용하는 .NET (C#) dll 프로토 타입을 개발했으며이 DLL을 C# 응용 프로그램과 VB6 응용 프로그램 모두에서 호출 할 수 있기를 원합니다.
내 질문은 :
는 닷넷 DLL을 호출하는 VB6 응용 프로그램을 디버깅 할 수 있습니까? 내가 오류 메시지가 "자동화 오류 파일을 찾을 수 없습니다가 지정"
오류 메시지는 닷넷 DLL을 찾을 수 내 VB6 응용 프로그램 누락 뭔가가 있음을 시사한다. 우리가 할 수 있다는 것이 중요하지만 한 .exe
를 사용하는 경우
내가 VB6 응용 프로그램이 컴파일 된 경우, 그리고 .EXE이 생성 된 것을 알고는 VB6 성공적으로 닷넷 DLL 기능을 호출합니다 VB6 응용 프로그램을 통해 디버깅하십시오. 불행히도 디버깅을 사용하면 .Net DLL의 클래스 개체를 인스턴스화하는 코드 줄을 단계적으로 넘길 수 없습니다. 나는 이것을 할 수 없다.
참고 : 포럼과 MSDN 설명서를 둘러 보았고 대부분 .NET에서 VB6 dll을 호출하는 솔루션을 찾았습니다. 불행히도 우리가해야 할 일의 반대입니다.
참고 : 이미 컴파일 된 .Net (C#) 어셈블리를 등록하고 VB6 프로젝트에서 참조했습니다.
그러나이 두 페이지는 우리가 필요로하는 것처럼 보이지만 VS2005를 사용하여 생성 된 .NET (C#) dll을 호출하는 솔루션입니다. 이 doesnt는 .NET (C#) dll이 VS2010을 사용하여 생성되었을 때 작동하는 것처럼 보입니다. site2
사람이 어떤 제안을하거나 내가 하나를 얻을 수있는 곳 저를 직접 할 수 있다면
, 잘 될 것이라고.감사
솔루션 @HansPassant에 덕분에, 나는 해결책을 발견했다. C# .NET 어셈블리가 포함 된 VB6 프로젝트를 디버깅하려면 "regasm"및 "gacutil"을 통해 .NET DLL을 등록한 다음 디버깅을 시작하기 전에 VB6 응용 프로그램을 닫았다가 다시 열어야합니다 .
질문을 올바르게 이해하면 VB 6 IDE (즉, VB 6 IDE)에서 디버깅을 원하십니까? 가능한 것은 아닙니다. VB 6 디버거는 VB 6 코드에서만 작동합니다. 그것은 네이티브 코드를 전혀 처리 할 수 없으며 VB 6이 출시되었을 때 아직 개발되지 않았기 때문에 확실히 MSIL (.NET) 코드를 처리 할 수 없습니다. –
나는 그것이 당신이 그것을 컴파일하는 데 사용하는 .Net 프레임 워크에 달려 있다고 생각한다. 시각적 인 스튜디오 버전이 하위 호환성을 유지하려고 시도했기 때문에 당신이 발견 한 예제는 반대입니다. – luchosrock
와우 포인트 @CodyGray. 나는 그것을 알아 내지 못했습니다. 당신이 맞습니다. – luchosrock