매우 혼란 스럽기 때문에 매우 간단하게 만들 것입니다. COM C++ 응용 프로그램을 통해 사용할 수 있기를 원하는 DLL (VB6에서 작성)이 있습니다. 다음은 내가 취한 조치와 결과입니다. 닷넷 응용 프로그램에 대한 Visual Basic에서 6 dll 파일을 등록하지 않고 배포 된 컴퓨터에서 COM dll 파일을 사용하고 싶습니다.
- 만든 COM DLL을.
- 는 86에서 닷넷에 의해 생성 된 "interop.dllName.dll"파일/디버그
- 추가 내 된 CodeDom에 참조 된 어셈블리로 상호 운용성 파일이 생성 된 exe 파일을 검색합니다.
- 된 CodeDom은 .exe 파일은 .exe 파일이 interop.dllname.dll 파일
- 된 CodeDom과 같은 디렉토리에있을 때 내 컴퓨터에서 아름답게 일 .exe 파일이 전혀 하지 일했다 생성 생성 interop.dllname.dll 파일이 .exe 파일과 같은 디렉터리에 존재하더라도 배포 된 컴퓨터에서.
참고 : 배포 된 시스템이 유효한 DLL 파일로 COM의 .DLL을 인식하지 못하기 때문에
원래 COM의 .DLL는 배포 된 컴퓨터에 등록되어 있지 않습니다.
배포 된 컴퓨터가 x64 환경에서 실행되는 동안 COM .dll은 x86 환경에서 만들어졌습니다 (차이점이 있습니까)?
내 목표는 무엇입니까 : 나는 된 CodeDom가 interop.dllname.dll 파일에 대한 종속성없이 .exe 파일 실행을 생성해야 할 수 있도록하고 싶습니다. 이러한 dll 파일을 메모리에 저장할 방법이 있습니까? 또한 CodeDom이 생성 한 .exe 파일을 사용하기 전에 내 사용자가 dll 파일을 등록하지 않아도됩니다. 이 일을하는 방법이 있습니까?
감사합니다.
는 간단 32/64 비트 불일치를 가지고있는 것처럼 그것은 매우 소리, 당신의 시간을에반
왜 배포 된 시스템이 COM DLL을 인식하지 못하는 이유는 무엇입니까? 그것이 문제일까요? – svick