문제

C# 클래스 라이브러리에서 함수를 호출 해야하는 C ++ DLL이 있습니다 (값을 전달하고 값을 반환).

c# dll에 com 인터페이스를 제공하고 idispatch와 함께 c ++에서 호출하는 유일한 옵션입니까?

이것이 최고의 방법입니까?

도움이 되었습니까?

해결책

여기에서 사용할 수있는 몇 가지 옵션

  1. 혼합 모드 C ++/CLI 어셈블리를 C ++와 C# DLL 사이의 브리지로 사용하십시오.
  2. 여러 키 C# 유형을 COM 객체로 노출시켜 A COM 브리지를 사용하십시오. 그런 다음 일반 Com Semantics에 의해 C ++ 코드를 통해 액세스 할 수 있습니다.

다른 팁

이 프로젝트 클래스에서 정적 메소드에 대한 DLL 내보내기를 만듭니다. 그런 다음 관리되지 않은 코드에서 C# 정적 메소드를 호출 할 수 있습니다.

효과가있는 한 가지 접근법은 com을 통해 그것을 부르는 것입니다. 당신이 사용할 수있는 Regasm 도구 com 래퍼를 만들려면.

그것은 아닙니다 옵션.

C ++ DLL을 관리되는 DLL로 컴파일 할 수도 있습니다.

C# DLL을 서비스로 호스팅하고 리모컨으로 호스팅 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top