관리되는 C++ 응용 프로그램에서 C# dll을 호출합니다. C# dll은 C#을 동적으로로드하기 위해 Managed C++ DLL이 필요하기 때문에 사용자 지정 폴더에 있습니다.Assembly :: LoadFrom Managed C++ dll에서 호출했습니다.
이것은 모두 VC++ 2010 v100 및 .net 4.0입니다.
나는 내가 LoadFrom 호출이 성공을 확인하고 MyCSharp.DLL을로드 할 수 있습니다
Assembly::LoadFrom("MyCSharp.dll")
를 사용하려면, 내 관리되는 C++ DLL 내의 함수가 DLL의 기능에 액세스하려고하지만 경우에, 그것을 다음 중 하나를
가) MyCSharp.DLL 내 응용 프로그램
B와 같은 실행 폴더에 존재하지 않는 경우) 실패 MyCSharp.dll는, 그러나, 지금은있어 실행중인 폴더에있는 경우 성공 두 개의 사본이 메모리에로드되고 나는 분명히 n입니다. my :: LoadFrom 호출에서로드 된 것을 액세스하지 마십시오.
명시 적으로로드 된 C# - dll에 대해 실행중인 함수가 연결되는 것을 막을 수 있는지 확실하지 않습니다.
VC++ managed C++ dll에서 가능한 구성 문제가 의심 스럽습니다.
C++/CLI가 아니라 Managed C++를 의미할까요? 이들은 다른 언어이고 Managed C++는 더 이상 사용되지 않습니다. – Botz3000
답변이 도움이 되었습니까? –