C# 응용 프로그램은 런타임에 C++ DLL에서 함수를 호출하고 예외를 throw합니다. 생성 된 오류 코드는 262입니다. 불행히도 Microsoft documentation은이 코드에 약간 부족합니다.런타임에 C++ DLL에서 예외가 발생합니다.
이상하게도 DLL (별도 프로젝트)과 동일한 Visual Studio 솔루션의 일부인 C++ 테스트 응용 프로그램에서 DLL을 실행하면 예외가 발생하지 않습니다. C# 응용 프로그램은 완전히 별도의 솔루션입니다. COM을 초기화하고 응용 프로그램에서 WMI를 쿼리하는 데 사용하는 첫 번째 단계는 CoInitializeEx
을 호출하여 오류 코드를 반환합니다.
유일한 다른 점은 관련이있는 것 같다 내가 종속성 워커와 DLL을 열 때 나는 이러한 오류 및 경고를 얻을 :
Error: At least one required implicit or forwarded dependency was not found.
Warning: At least one delay-load dependency module was not found.
Warning: At least one module has an unresolved import due to a missing export function in a delay-load dependent module.
나에게 발생하는 유일한 방법은 그 암시 적 요구 "없거나 의존성 "은 CoInitializeEx
을 만들 필요가있다. 종속성 워커에 따르면,이 모듈을 찾을 수 없습니다 :
- MSVCR90D.DLL
- IESHIMS.DLL
- WER.DLL
어떤 생각이나 제안이 평가됩니다. 감사.
운이 좋다. 마지막으로 필자는 링커 문제 (Microsoft 세계에서 완전히 엉망입니다 ...)가 발생해도 코드가 추락하지 않고 문제를 파악하는 데 몇 시간이 걸렸습니다. DLL을 호출하는 프로그램과 DLL이 연결된 런타임 라이브러리 *를 연결해야합니다. –