2011-09-19 14 views
4

최신 버전의 ODAC, 11.2.0.2.1을 설치 한 후 이상한 문제가 있습니다. 두 아키텍처의 응용 프로그램을 개발하기 때문에 32 비트와 64 비트 버전을 모두 설치했습니다. 내 컴퓨터는 Win 7 64 비트입니다.'Oracle.DataAccess'파일 또는 어셈블리를로드 할 수 없습니다 - 마크 업보기

ODAC를 설치하고 ODP.NET의 새로운 64 비트 버전을 참조한 이후 Visual Studio 2010의 웹 응용 프로그램 프로젝트 중 하나에서 마크 업보기로 볼 때 모든 aspx 페이지와 masterpages에 대해 다음과 같은 경고가 나타납니다.

ASP.NET runtime error: Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format. 

경고는 마크 업보기로 제한됩니다. 웹 응용 프로그램이 제대로 빌드되고 실행됩니다. 내가 VS 임시 ASP.NET 파일을 청소했지만 그 문제를 해결하지 못했습니다. 내 애플리케이션 전반에 걸쳐 Oracle.DataAccess에 대한 모든 참조를 제거한 다음 모든 참조가 올바른지 다시 확인했습니다. 웹 응용 프로그램은 'Any CPU'로 컴파일되지만 64 비트 Oracle.DataAccess를 사용합니다. 새 프로젝트를 만들고 동일한 프로젝트와 DLL을 참조 했으므로 경고 메시지가 나타나지 않으므로이 프로젝트 파일에만 해당됩니다.

마크 업보기에서 경고 메시지가 표시되는 이유는 무엇입니까? 당신이 확인할 수 있습니다

답변

1

노력하고 올바르게 DLL을 (See bottom answer)을 모두 등록하지 않는 ODAC 11.2.0.2 XCOPY 설치를 밝혀되어있는 것을 확인합니다. 결과적으로, Oracle.DataAccess.dll (64 비트)이 BIN 디렉토리에 복사되고 VS가 경고를 표시 할 때이를로드하려고 시도하고있었습니다. 누락 된 DLL을 수동으로 등록하고 재부팅 한 후 더 이상 문제가 발생하지 않습니다.

1

아이디어 :

  • 확인을 Visual Studio 프로젝트의 Oracle.DataAccess 참조는 '거짓'로 설정하고 '특정 버전'속성을 (기본값 없음)이있다.
  • 사용은 Fuslogvw.exe .NET 프레임 워크가 위치
7

프로젝트 속성 -> 빌드 탭에서 "플랫폼 대상"을 "x86"또는 "x64"로 명시 적으로 설정하십시오. enter image description here

"모든 CPU"로 설정하지 마십시오. 이것은 일반적인 오라클 소프트웨어 품질의 드라이버가 신경 쇠약을 일으키는 많은 일반적인 조건 중 하나입니다.

+0

다른 해결책입니다. Afterall, 프로덕션 서버에 32 비트 라이브러리를 설치하지 마십시오. 절름발이가 나오고 요즘은 64 비트가되어야합니다. 내가 할 수 있다면 +10! –

관련 문제