내 프로젝트는 내 제어하에 있지 않은 호스트 실행 파일로로드되는 플러그인 (Windows DLL)입니다. 내 DLL 일부 추가 libs로드하려고합니다. 저는 사적인 집회에서이 일을합니다. 이를 수행하는 방법은 how can a Win32 App plugin load its DLL in its own directory에 큰 답이 있습니다. 하지만 메인 DLL의 링크 라인에 /delayload dependentlib.dll
을 추가하면 어셈블리를로드 할 필요가 없습니다. (필자는 여러 가지 이유로이 작업을 수행해야합니다.) Windows는 더 이상 내 개인 어셈블리를 검색하지 않습니다. 컴파일 된 매니페스트를 무시하는 것처럼 보입니다. 대신 DLL은 일반적인 검색 경로에서 지연로드 DLL을 찾습니다. (이것을 확인하기 위해 sysinternals procmon을 사용합니다.)Windows 개인 어셈블리를 어떻게 지연시킬 수 있습니까? 가능한가?
알려진 버그입니까, 아니면 다른 방법으로 어셈블리를 지연로드 할 수 있습니까? 차라리 LoadLibrary + GetProcAddress 라우트를 사용하지 않을 것입니다. 여기서 종속 라이브러리에서 신경 쓰이는 모든 심볼을 알고 있어야합니다.
감사합니다. 완벽하게 작동했습니다. 맞습니다. hmodule 및 리소스 ID (2) 만 있으면됩니다. 종속 DLL에 대한 첫 번째 호출을 래핑하면 모든 것이 완료됩니다. 감사합니다로드! – GaryO