Microsoft MVP성태의 닷넷 이야기
32bit .net 으로 만들어진 dll파일 [링크 복사], [링크+제목 복사],
조회: 19574
글쓴 사람
이혜성 (flycoflyco at naver.com)
홈페이지
첨부 파일
 
(연관된 글이 1개 있습니다.)

안녕하세요 .net 기반으로 AutoCAD 관련 서드 파티 프로그램을 개발중인 직장인입니다.

C#, .net 의 궁금한 사항들을 찾을때마다 이 홈페이지가 마지막이여서 항상 감사한 마음을 가지고 있습니다.

이번 질문드릴 내용은 플랫폼 대상 x86 으로 만들어진 .net dll파일을 현재 제가 개발중인 프로젝트파일에 참조추가를 해야하는데

제 프로젝트는 플랫폼 대상이 AnyCPU, x64 이여야만 해서, dll 을 사용을 못하고 있는 상황입니다.(참조추가는 되나,dll 관련 기능 실행시 오류)

이거와 관련하여 찾아보던중 IPC를 이용하여 접근 할 수 있다는 점을 알게되었습니다.

https://stackoverflow.com/questions/39948944/accessing-32-bit-dlls-from-64-bit-code

위의 사이트에서 읽어봐도 많이 어려워서 고생을 하고있습니다.

혹시 위 사이트 말고 이 문제를 해결하는 방법에 대해서 적혀있는 사이트가 있을까요?

아니면 조언이라도 적어주시면 정말 감사하겠습니다.


[연관 글]






[최초 등록일: ]
[최종 수정일: 12/31/2018]


비밀번호

댓글 작성자
 



2018-12-31 11시56분
링크 글은 32비트 구성 요소의 소스 코드가 있어야만 합니다. 즉, 32비트 DLL을 만들어 놓고 COM+에 등록해 32비트 dllhost.exe에서 서비스하게 만든 후 COM+ 원격 호출을 64비트 EXE에서 하도록 만드는 것입니다.

64비트 EXE 프로세스에서는 같은 프로세스 내에 32비트 DLL을 로드할 수 없습니다.
정성태
2019-01-03 03시26분
[이혜성] 빠르게 포기하고 다른 방법을 찾아봐야겠네요. 답변 달아주셔서 정말 감사드립니다.
[guest]
2019-01-03 04시33분
[하동훈] 사이트 화이팅!
[guest]
2019-01-04 11시09분
참고로, UI가 관련된 것이 아니라면 해당 32bit DLL을 로딩하는 32비트 프로세스를 만들고 소켓 등의 통신 방법을 이용해 메서드 호출을 대리해주는 코드를 작성하는 것도 방법이 될 수 있습니다. (COM+의 dllhost.exe가 COM 규약을 따르는 객체에 대해 그런 역할을 하는 것입니다.)
정성태
2019-09-25 11시50분
다시 답변을 해야겠군요.

UI 구성 요소가 아닌 경우에는 원 글의 링크에서처럼 COM+로 대행하는 것도 좋은 방법입니다. (참고로, 저는 해본 적은 없습니다.)
정성태

1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5919이건우9/27/202312086WinForm의 로딩속도 관련 질문입니다 [2]
5917한예지 donator9/14/202312772동기화 도구 질문 있습니다. [4]
5916한예지 donator9/3/202313102Thread.Sleep(500), await Task.Delay(500), Task.Delay(500) 차이점이 궁금합니다. [2]
5915한예지 donator8/30/202314329비동기 코드를 for 문 안에 작성한 경우 제어 변수가 올바르게 동작하지 않는 이유가 궁금합니다. [3]
5914한상욱8/11/202313972.net wpf에서 skiasharp 의 skelement 를 canvas로 사용 하고 있습니다. [1]
5913김태우8/10/202313583지역변수로 이해하는 메서드매개변수 게시글 댓글 [3]
5912guest4/25/202319004[참고 - 초보용] Sqlite 디비는 double이 없고 Real이 대신합니다 [3]
5911guest4/24/202312890Form1.cs와 외부 class.cs와 통신 (static async method포함) [4]파일 다운로드1
5910guest4/24/202312262Async 메서드와 try~catch [1]
5909guest4/22/202313697Visual Studio 구매 시(1인 개발자) [4]
5908guest4/22/202313071텅빈 원그리기 [5]
5907민성4/21/202313031안녕하세요 서버 백업 문제에 대해서 [2]
5906guest4/21/202313316Dispatcher 서비스 구현 질문 [1]
5905guest4/20/202314246tabControl의 tabPage가 여러 개일 때 순서를 바꾸기가 까다롭네요 [5]
5904guest4/18/202314509[신규자료첨부] DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [4]파일 다운로드1
5903guest4/18/202313197fileSystemWatcher 이벤트 관련 질문입니다 [2]
5902guest4/17/202314315c#으로 USB 관련 질문 [2]
5901guest4/17/202311821내솔루션 판매 시 1.0.0.0 폴더와 Sqlite 배포 [5]
5900guest4/17/202314785DLL 'SQLite.Interop.dll'을 찾을 수 없습니다 [2]파일 다운로드1
5899guest4/17/202312851Dictionary와 Linq [4]
5898차가워4/17/202312528CNTK 교육 문의 [1]
5897guest4/17/202312230Socket스레드와 UI thread [4]
5896HAN4/16/202312190c언어 return 에 대해 궁금한게 있어요. [1]파일 다운로드1
5895guest4/15/202312487Drag and Drop - 모든 컨트롤 [2]
5894송부장4/14/202314278[질문] Visual Studio 2022에서 '도구 상자 항목 선택'의 'COM 구성 요소' 탭에서 ActiveX 목록이 보이지 않습니다. [3]파일 다운로드2
5893감사합니...4/14/202312099오라클 OLEDB방식 접속 후 SELECT 'TEST' TEST_VALUE FROM DUAL의 값이 이상합니다. [1]
1  2  [3]  4  5  6  7  8  9  10  11  12  13  14  15  ...