2009-04-28 5 views
0

내 VB6.0 일 동안 Windows API 톤을 사용했습니다. 그래서 제가 선언 한 모든 API 메소드는 거의 프로 시저 기반이거나 프로 시저 기반의 진입 점을 가지고 있다는 생각이 들었습니다.API 어셈블리

내 질문은 :

내가 VB6.0에서 접근 할 필요가 C#에서 일부 코드를 작성했습니다. 내 C# 코드를 DLL로 컴파일하고 VB6.0에서 C# DLL에 액세스하여 API 호출로 선언 할 수 있습니까? 그렇다면 어떻게해야할까요?

은 (난 이미 내 C# DLL이 COM을 준수하고 시도, 그것은 일 -하지만 어쨌든 위에서 언급 한 접근 방법을 시도하려는)

+1

C# DLL COM을 준수하지 않으려는 이유가 있습니까? – MarkJ

답변

4

아니, 당신은 항목을 노출 할 수

감사합니다 Win32 스타일의 API로 C# DLL을 가리 킵니다. .NET 라이브러리를위한 절차 적 진입 점을 정말로 필요로한다면 아마도 C++/CLI를 사용하여 혼합 모드 래퍼 라이브러리를 만드는 것이 가장 좋습니다. 하지만 이것은 어려운 작업 인 것처럼 보입니다. C# 클래스를 COM 개체로 노출하는 것은 노력이 덜 들고 유지 관리가 훨씬 쉽습니다.

+0

완전히 수정 됨, +1 –

0

손이 (매우) 더러워지면 MSIL을 사용하여 원하는 것을 할 수 있습니다. 보행 시합을 보려면 this CodeProject project을보십시오.