.net MVC 응용 프로그램에서 Win32 DLL을 사용하려고합니다. 그러나 다음 오류가 계속 발생합니다. Unable to load DLL 'experiment_dll.dll': The specified module could not be found
관리되지 않는 win32 dll이 IIS 8.5, Win Server 2012 R2, Azure 가상 컴퓨터의 .net MVC 응용 프로그램에로드되지 않습니다.
DLL로드를 시도하는 코드가 실행될 때 프로세스 모니터를 사용하여 파일 시스템 작업을 캡처했습니다. DLL이 보이고 파일 시스템 작업의 대부분이 성공한 것입니다. 파일 시스템 활동의
두 전체 크기의 화면 캡처 -
당신이 작업 중 하나가 FILE LOCKED WITH ONLY READERS
인의 결과 중 하나 볼 수 있듯이. 왜 이것이 DLL을로드하지 못하는 이유이고 DLL이 발견되지 않았다는 오류 메시지가 나타나는 이유입니까?
UPDATE:
나는이 결과가 실제로 성공하고 그래서 문제가되지 않습니다 있다고이 포럼 스레드 발견 -이 권한 문제의 경우 http://forum.sysinternals.com/topic21378.html
, 어떻게 고정 할 수 있습니까? 이미 DLL 파일과 Bin 및 Root 폴더의 모든 권한을 App Pool에 부여했습니다.
나는 테스트 MVC 애플 리케이션과 테스트 DLL을 만들려고했는데 (bool을 가져 와서 같은 bool을 리턴하는 하나의 함수를 내 보낸다.) 테스트 MVC x86과 DLL win32 (둘다 빌드 빌드)와 Enable 32-Bit Applications
응용 프로그램 풀 설정을 true로 설정합니다. 또한 테스트 MVC x64 및 DLL x64 (모두 빌드 빌드)를 만들고 Enable 32-Bit Applications
응용 프로그램 풀 설정을 false로 설정하려고 시도했습니다. 또한 Any Cpu
구성을 시도했으며 모두 동일한 오류가 발생하고
IIS 8.5, Azure 가상 컴퓨터에서 실행되는 Windows Server 2012 R2에 게시 할 때이 문제가 발생합니다.
0123이 문제는 모두 화면 캡처에 표시된 것과 같습니다.mywebsite.azurewebsites.net
으로 게시하거나 개발 컴퓨터에서 실행할 때 DLL을 문제없이로드합니다.