2010-04-08 5 views
2

.NET Windows Forms 응용 프로그램을 x86으로 컴파일했습니다. 32 비트 타사 DLL을 참조하기 때문에 x86으로 컴파일해야합니다. 이 응용 프로그램은 COM interop을 사용하여 Office 응용 프로그램과 AutoCAD를 자동화합니다. 내 질문입니다 : 내 COM interop 코드가 Office 및 AutoCAD의 64 비트 버전에 대해 64 비트 운영 체제에서 제대로 작동합니까? 나는 이것을 시험해 보겠다. 그러나 나는 누군가가 어떤 문제를 알고 있는지 궁금해했다.COM 32 비트 및 64 비트 응용 프로그램 간의 상호 교환

답변

1

사무실과 autocad가 순수하게 64 비트 일 경우 64 비트 이미지이므로 32 비트 프로세스로로드되지 않으므로 32 비트 컴퓨터에서는 역으로 문제가 발생합니다.

우리는 비슷한 상황이었고 "anycpu"프로그램을 만들면서 32 비트 dll과 대화하는 또 다른 작은 프로그램을 제공했습니다. 우리가 64 비트 시스템에있는 경우 (intptr.size = 4[32] or 8[64])을 감지하면 32 비트를 호출합니다 프로그램 (이러한 제 3 자 dll에 대한 통신을 수행하기 위해) 그리고 일종의 출력을 생성합니다 (우리는 작은 XML 파일을 작성했습니다). 우리는 프로그램 종료를 기다렸다가 파일을 읽고 응답에 대한 조치를 취했습니다.

정말 프로그램의 어느쪽에 가장 많은 64/32 코드가 있는지에 따라 달라집니다.

관련 문제