title: 64-bit ASP.NET MVC App won't run
body: <p>First of all, I've previously managed to get one of my 64-bit test web apps to run on this machine (back when I was prototyping for this project). I've been working for a few weeks in 32 bit and realized I need to switch the app over to 64-bit and when I did (Set target platform to x64 in the project) and redeployed, it stopped running.</p>
  
  <p>It took me several days to get 64-bit working last time and I'm not sure what I'm missing this time that I did last time.</p>
  
  <p>I am publishing to and debugging under IIS.</p>
  
  <p>I get a BadImageFormatException with the message: "Could not load file or assembly 'GEMS.Web' or one of its dependencies. An attempt was made to load a program with an incorrect format."</p>
  
  <p>This app references both 64-bit and 32-bit assemblies. I have set "Enable 32-bit Applications" to true in the application pool in IIS.</p>
  
  <p>I'm using VS.NET 2012, IIS 7.5, running on a 64-bit Win 7 machine.</p>
  
  <p>The following is from the assembly load trace:</p>
  
  <pre><code>Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
  Running under executable  C:\Windows\SysWOW64\inetsrv\w3wp.exe
  --- A detailed error log follows. 
  
  === Pre-bind state information ===
  LOG: User = XXXXXX\xxxxxx
  LOG: DisplayName = GEMS.Web
   (Partial)
  WRN: Partial binding information was supplied for an assembly:
  WRN: Assembly Name: GEMS.Web | Domain ID: 2
  WRN: A partial bind occurs when only part of the assembly display name is provided.
  WRN: This might result in the binder loading an incorrect assembly.
  WRN: It is recommended to provide a fully specified textual identity for the assembly,
  WRN: that consists of the simple name, version, culture, and public key token.
  WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue.
  LOG: Appbase = file:///c:/inetpub/wwwroot/GEMS.Web/
  LOG: Initial PrivatePath = c:\inetpub\wwwroot\GEMS.Web\bin
  Calling assembly : (Unknown).
  ===
  LOG: This bind starts in default load context.
  LOG: Using application configuration file: c:\inetpub\wwwroot\GEMS.Web\web.config
  LOG: Using host configuration file: C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet.config
  LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
  LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
  LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/gems.web/eea5792e/72317e39/GEMS.Web.DLL.
  LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/gems.web/eea5792e/72317e39/GEMS.Web/GEMS.Web.DLL.
  LOG: Attempting download of new URL file:///c:/inetpub/wwwroot/GEMS.Web/bin/GEMS.Web.DLL.
  ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.
  </code></pre>