C# DLL에서 코드를 수정하고 C++ 응용 프로그램 내에서 사용해야했습니다. 나는 C++에 정통한 사람이 아닙니다. 그래서 뭔가 명확하지 않으면 알려주세요.COM 코드베이스 위치 - 사용할 버전을 선택하는 방법?
내가 사용하는 C#을 어셈블리 등록했습니다
CLSID clsid;
CLSIDFromProgID(L"MyApp.MyClass", &clsid);
HRESULT hr = CoCreateInstance(clsid,NULL, CLSCTX_INPROC_SERVER ,IID_MyClass, reinterpret_cast<void**>(&myclass));
hr
수익률 : 그러나
regasm file.dll /tlb:file.dll /codebase
을, 나는 C에서 이것을 사용하는 ++ 응용 프로그램을 시도 할 때 0x8013151a: access to this member is denied
레지스트리에서 여러 버전의 C# dll (Codebase
이 다른 dll 위치를 가리키고 있음)을 발견했습니다.
올바른 DLL을 사용하고 있지 않기 때문에 문제가 있다고 생각합니다. (나는 완전히 틀릴 수 있었다).
제 질문은 이것입니다.로드하려는 DLL의 버전을 어떻게 알 수 있습니까?
미리 감사드립니다.
와우, 괜찮 았어. 그게 바로 문제였습니다. 정말 고맙습니다! – Puzzled