2012-07-06 3 views
-5

현재 DLL이 있습니다 (C++ 사용). 이제 C# 응용 프로그램에서이 DLL을로드하여 일부 메서드에 액세스하려고합니다. 뭐가 잘못 Can I load a .NET assembly at runtime and instantiate a type knowing only the name?C#에서 DLL을로드하는 방법

어떤 생각을 :

나는 예제가 여기에 표시하지만, 그것이 작동하지 수 사용하여 시도? DLL을로드하고 메소드에 액세스 할 수있는 방법이 있습니까? 사전에

감사합니다,

+0

add 참고. –

+0

여기보세요 http://stackoverflow.com/questions/14278/how-to-load-plugins-in-net – JohnnBlade

+0

무엇이 오류입니까, 당신의 행동에 대한 자세한 내용은 무엇입니까? , ... –

답변

6

Perumal 질문의 차이 당신이에 연결하고 문제가 다른 문제는 .DLL 형태의 .NET 어셈블리에 대해 말하고 있다는 것입니다,하지만 문제는 기본에 관한 것입니다. dll 파일.

C++ 측에 많은 클래스가있는 경우 C++/CLI를 사용하여 원시 메소드와 클래스를 래핑하는 것이 가장 좋습니다. API가 메소드 만 노출하는 경우 DllImportAttributeextern 키워드를 사용하여 바인딩을 작성하면됩니다. 모든 솔루션 탐색기에서 마우스 오른쪽 클릭의 http://msdn.microsoft.com/en-us/library/2x8kf7zx(v=vs.80).aspx

2
  1. 처음이자에 refrence 탭 추가를 선택 :

    이 MSDN 문서는 C에 대한 ++ DLL을 바인딩을 작성하기위한 좋은 출발점이되어야한다.

  2. 추가하려는 dll 파일을 보호하십시오.
  3. 다음 fomat 사용하여 코드 파일에 DLL을 추가 솔루션 아무튼 위, t 작동 VB에서

    는 C#으로 사용하거나

    가져 오기를

경우,이 링크를 참조 :

add C++ dll in .net

+0

정보를 제공해 주셔서 감사합니다. 두 번째 링크의 코드 샘플은이 문제를 해결합니다. – perumal316

+0

up 투표. 이 솔루션은 작동합니다. –

관련 문제