2012-10-15 2 views
2

상황 : 나는 실행하기 위해 노력하고있어오류 : '.dll'DLL을로드 할 수 없습니다 : 지정한 모듈을 찾을 수 없습니다. (HRESULT 예외 : 0x8007007E) -이 오류가 무엇입니까?

CharLS JPEG-LS Compression algorithm implementation

당신이 C# VS 2010 솔루션을 다운로드 할 수있는 위치에 대한 사이트의 소스 코드가있다. 솔루션에는 2 개의 C# 클래스 라이브러리 프로젝트, 1 개의 관리되지 않는 VC++ 프로젝트 및 1 개의 C# 콘솔 응용 프로그램이 있습니다. 콘솔 앱은 클래스 라이브러리 중 하나 인`CharLS; '를 호출하고, 그 특정 라이브러리는 비 관리 VC++ 프로젝트를 참조합니다. 콘솔 응용 프로그램은 디버그 모드에서 완벽하게 작동합니다.

문제점 : 나는 "릴리스"에 대한 콘솔 응용 프로그램을 컴파일하고, .EXE (실행 파일)을 실행했을 때 특정 기능이 과정에서 호출 될 때

는하지만, 그것은 나에게 오류를 제공합니다 :

Error: Unable to load DLL 'CharLS.dll' : The specified module could not be found. (Exception from HRESULT: 0x8007007E)

나는 또 다른 프로젝트를 만들고 거기에서 클래스 라이브러리를 참조하려고했습니다,하지만 난 같은 오류가 발생합니다.

그물을 통해 다른 솔루션을 읽으려고했지만 그게 도움이되지 못했습니다.

+3

현재 디렉토리를 변경했기 때문에 CharLS.dll 종속성 중 하나가 발견되지 않을 수 있습니다. Dependency walker http://www.dependencywalker.com/ –

+0

에서 DLL 의존성 알아보기'CharLS.dll' 파일이 개발 컴퓨터의 경로에 있는지 확인 했습니까? 그렇다면 릴리스 소프트웨어 (경로에도 있음)를 사용하여 배포하십시오. 또는 등록 된 파일 (regsvr32)입니까? 그렇다면 배포하고 등록하십시오. – Vicki

+0

당신은 결코 언급하지 않았고 DLL이 bin \ Debug 디렉토리에 복사되었는지 확인했습니다. 그러니 먼저 시작하십시오. SysInternals의 ProcMon 유틸리티는 다른 DLL이 누락되었을 수 있음을 보여줍니다. –

답변

0

릴리스 모드로 실행하기 전에 프로젝트를 재 빌드 했습니까? 당신이하지 않았고 출력물에 그런 lib가 들어 있지 않은 것 같습니다. 어쨌든 그것을 확인하십시오.

+0

나는 (재) 무수한 시간을 벌써 시도했다. 같은 오류입니다. – user919789

+0

@ user919789 Visual Studio를 닫고 다시 열 때 전체 솔루션을 깨끗하게 다시 만들려고 했습니까? 보통 나를 위해 오류를 수정합니다. – Seph

0

확실히 서버에 등록되어 있는지 확인하십시오. 또한 응용 프로그램 풀 (IIS7 + 가정)을 32 비트 프로세스를 허용하도록 설정 했습니까?

2

이 오류에 대한 이유의 일부가 될 수있다 :

  1. 당신이 "같이 DllImport"속성의 "EntryPoint를"속성에 제공하는 이름은 기본 구성 요소에서 내보내는 기능과 일치하지 않습니다 .

  2. 또 다른 이유는 자체/또는 해당 종속성의 (사용 종속성 워커 및 확인)

  3. 세 번째 이유는 그것이 디버그/릴리즈 버전이 일치 될 수있을 수 DLL을 누락 될 수 있습니다.

+1

디버그/릴리스 버전 불일치에 대한 명성 (+1). 프로젝트 배포를 테스트하면서 솔루션 구성을 "릴리스"로 전환하지 않았습니다. –

관련 문제