64 비트 Windows에서 32 비트 Oracle 클라이언트를 사용하려면 웹 사이트를 컴파일하는 방법

StackOverflow https://stackoverflow.com/questions/1707101

문제

Windows 7 64 비트로 업데이트 한 후 기존 .NET 웹 사이트를 실행 한 후이 오류를 받았습니다.

InvalidOperationException : Oracle 클라이언트 라이브러리를로드하려고 시도하면 BadImageFormateXception을 던졌습니다. 이 문제는 32 비트 Oracle 클라이언트 구성 요소가 설치된 상태에서 64 비트 모드로 실행될 때 발생합니다.

32 비트 Oracle 클라이언트 만 설치했으며 64 비트 개발 컴퓨터에서 응용 프로그램은 명시 적으로 언급되지 않는 한 64 비트 라이브러리를 기대하고 있음을 이해합니다. 이것은 내가 지금까지 한 검색에서 나온 것입니다.

솔루션 플랫폼을 X86으로 변경할 수 있다는 것을 읽었습니다. X86으로 응용 프로그램에 32 비트를 사용하도록 지시합니다. 이 작업을 수행하고 싶지만 Visual Studio 솔루션에는 웹 사이트에 대한 X86 옵션이 없습니다.

테스트 응용 프로그램을 만들었고 옵션이 있고 테스트 웹 사이트를 만들었지 만 그렇지 않았습니다. 32 비트 Oracle 클라이언트를 사용하도록 웹 사이트를 x86으로 컴파일하려면 어떻게해야합니까?

건배

도움이 되었습니까?

해결책

IIS 관리자에서 응용 프로그램 풀을 만들고 해당 응용 프로그램 풀을 32 비트 모드로 실행하도록 설정하십시오. 그런 다음 32 비트 Oracle 클라이언트를 사용하여 웹 사이트를 할당하여 해당 32 비트 응용 프로그램 풀에서 실행하십시오.

해당 응용 프로그램 풀에서 IIS가 시작하는 작업자 프로세스는 32 비트 프로세스이므로 CLR을로드하려고 할 때 32 비트 CLR을로드하므로 조립품을 32 비트 모드로로드합니다. 어셈블리가 64 비트 및 32 비트 모드로 컴파일 된 경우에도 마찬가지입니다. 32 비트 모드로 실행되는 어셈블리는 32 비트 모드로 실행되는 Oracle 클라이언트를 호출 할 수 있습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top