title: Oracle.DataAccess.Dll loading issue on x-64 machine
body: <p>I have a .net exe program which is using Oracle.DataAccess, Version=2.121.1.0 dll.</p>
  <p>My development machine and tfs build server both are 32-bit.
  Everything is working fine on 32 machines.
  But now I have to migrate this program on x64 (Windows Server 2012 R2) and my all problems started from there.</p>
  <p>I am getting the famous error</p>
  <p><strong>Could not load file or assembly 'Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' or one of its dependencies.</strong>.</p>
  <p>I googled a lot and tried various things so far:</p>
  <pre><code> 1. Specifically build the executeble to target X86 platform  
      by changing the project properties Compile option
   2. I have installed the Oracle dll on the machine  
      and it's successfully registered in the GAC
   3. Tried to build the executable to target 'Any CPU' 
      and when it didn't work tried X64 as well
   4. Specifically supplied the assembly binding information in app.config file 
      to look at the exact place for loading the dll.
   5. Turned on the Fusion log to see the exact failure cause
  </code></pre>
  <p>Please see the error log below:</p>
  <pre><code>29/01/2015 10:57:30;ALERT ;System.Exception caught in Main() 
  29/01/2015 10:57:30;ERROR ;System.BadImageFormatException: 
  Could not load file or assembly 'Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' 
  or one of its dependencies. An attempt was made to load a program
  with an incorrect format. 
  File name: 'Oracle.DataAccess, Version=2.121.1.0, 
  Culture=neutral, PublicKeyToken=89b483f429c47342' at XXXX.Common.Components.OraDataAccess..ctor() at 
  XXXX.Library.ValuesCore.ValuesCore..ctor() at XXXX.Library.DerivationsCore.Derivations..ctor() at XXXX.Processes.XXXX.Main.Main() 
  === Pre-bind state information === 
  LOG: User = XX 
  LOG: DisplayName = Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342 (Fully-specified) 
  LOG: Appbase = file:///D:/Release/ 
  LOG: Initial PrivatePath = NULL Calling assembly : XXXX.CommonComponents, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e9b31bf34182bd8b. 
  === 
  LOG: This bind starts in default load context. 
  LOG: Using application configuration file: D:\Release\XXXX.exe.Config 
  LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework64\v2.0.50727\config\machine.config. 
  LOG: Post-policy reference: Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342 
  LOG: Attempting download of new URL file:///C:/Oracle/odp.net/bin/2.x/Oracle.DataAccess.dll. 
  ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated. 29/01/2015 10:57:30;
  ERROR ;Could not load file or assembly 'Oracle.DataAccess, Version=2.121.1.0, Culture=neutral, PublicKeyToken=89b483f429c47342' 
  or one of its dependencies. An attempt was made to load a program with an incorrect format. 
  29/01/2015 10:57:30;ALERT ;(Global) Point Source ID = 0, Calc Time = 29/01/2015 10:57:30. 29/01/2015 10:57:30;STOP ;
  </code></pre>
  <p>Any help would is desparately needed and will be greatly appreciated.</p>
  <p>Thanks</p>