System.BadImageFormatException: 파일이나 어셈블리 'Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=000000000000' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다.
파일 이름: 'Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=000000000000' ---> System.BadImageFormatException: 파일이나 어셈블리 'Oracle.DataAccess, Version=2.111.7.10, Culture=neutral, PublicKeyToken=000000000000' 또는 여기에 종속되어 있는 파일이나 어셈블리 중 하나를 로드할 수 없습니다. 프로그램을 잘못된 형식으로 로드하려고 했습니다.
파일 이름: 'Oracle.DataAccess, Version=2.111.7.10, Culture=neutral, PublicKeyToken=000000000000'

 

=== 미리 바인딩된 상태 정보 ===
로그: DisplayName = Oracle.DataAccess, Version=2.111.7.10, Culture=neutral, PublicKeyToken=000000000000
 (Fully-specified)
로그: Appbase = 
file:///C:/-------/Service/
로그: 초기 PrivatePath = NULL
호출 어셈블리: EntLibContrib.Data.OdpNet, Version=5.0.505.0, Culture=neutral, PublicKeyToken=null.
===
로그: 이 바인딩은 default 로드 컨텍스트에서 시작됩니다.
로그: 응용 프로그램 구성 파일 C:\--------\Service\MES.Server.Config을(를) 사용합니다.
로그: 호스트 구성 파일 을(를) 사용합니다.
로그: C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config에서 컴퓨터 구성 파일을 사용합니다.
로그: 응용 프로그램 구성 파일에 리디렉션이 지정되어 있습니다. 2.111.7.10이(가) 4.112.3.0(으)로 리디렉션되었습니다.
로그: 사후 정책 참조: Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=000000000000
로그: 새 URL 
file:///C:/-------/Service/Oracle.DataAccess.DLL을(를)
 다운로드합니다.
오류: 어셈블리 설치를 완료하지 못했습니다(hr = 0x8007000b). 검색이 종료됩니다.

 

 

1. EntLibContrib.Data.OdpNet  DLL 을 참조하고 있음

해당 DLL 에서는 Oracle.DataAccess 2.111.7.10 버전을 참조하고 있음

 

 

 

2. Config 에서 리다이렉트 설정을 함. oldVersion -> newVersion

  <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
      <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="00000000" culture="neutral"/>
        <bindingRedirect oldVersion="0.0.0.0-4.112.3.0" newVersion="4.112.3.0"/>
      </dependentAssembly>
    </assemblyBinding>
  </runtime>

 

그래서 제대로된 Dll 참조가 됐지만 exception 발생

로그: 응용 프로그램 구성 파일에 리디렉션이 지정되어 있습니다. 2.111.7.10이(가) 4.112.3.0(으)로 리디렉션되었습니다.
로그: 사후 정책 참조: Oracle.DataAccess, Version=4.112.3.0, Culture=neutral, PublicKeyToken=000000000000
로그: 새 URL 
file:///C:/-------/Service/Oracle.DataAccess.DLL을(를) 다운로드합니다.

 

 

 

3. ODAC 설치

https://www.oracle.com/database/technologies/net-downloads.html#

 

Oracle .NET, Visual Studio, and VS Code ODAC Downloads for Oracle Database

Download ODP.NET, Oracle Developer Tools for Visual Studio (Code), and ODAC Use the links below to download the Oracle Data Provider for .NET (ODP.NET) driver, Visual Studio Code and Visual Studio extensions, and Oracle Data Access Components (ODAC) deploy

www.oracle.com



글이 도움이 되셨다면 공감과 광고 클릭 한번 부탁드립니다! 💕
감사합니다 ✨