title: Could not load file or assembly 'PDFNet' or one of its dependencies. An attempt was made to load a program with an incorrect format
body: <p>I'm trying to build a sample web application from a blank web form template in VS2012, and add the PDFNet dll to it. If I run the project in .NET 3.5 no problem. If I run it in .NET >= 4 I get this error: </p>
  
  <p>Could not load file or assembly 'PDFNet64' or one of its dependencies. An attempt was made to load a program with an incorrect format.</p>
  
  <p>this is the stack trace: </p>
  
  <pre><code>Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
  Running under executable  C:\Program Files (x86)\IIS Express\iisexpress.exe
  --- A detailed error log follows. 
  
  === Pre-bind state information ===
  LOG: User = COLLAB\mirko.lugano
  LOG: DisplayName = PDFNet64
   (Partial)
  WRN: Partial binding information was supplied for an assembly:
  WRN: Assembly Name: PDFNet64 | 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:/users/mirko.lugano/documents/visual studio 2012/Projects/WebApplication3/WebApplication3/
  LOG: Initial PrivatePath = c:\users\mirko.lugano\documents\visual studio 2012\Projects\WebApplication3\WebApplication3\bin
  Calling assembly : (Unknown).
  ===
  LOG: This bind starts in default load context.
  LOG: Using application configuration file: c:\users\mirko.lugano\documents\visual studio 2012\Projects\WebApplication3\WebApplication3\web.config
  LOG: Using host configuration file: C:\Users\mirko.lugano\Documents\IISExpress\config\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/root/ccfa215a/dc93c54d/PDFNet64.DLL.
  LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/ccfa215a/dc93c54d/PDFNet64/PDFNet64.DLL.
  LOG: Attempting download of new URL file:///c:/users/mirko.lugano/documents/visual studio 2012/Projects/WebApplication3/WebApplication3/bin/PDFNet64.DLL.
  ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.
  
  
  Stack Trace:
  
  
  [BadImageFormatException: Could not load file or assembly 'PDFNet64' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
     System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&amp; stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0
     System.Reflection.RuntimeAssembly.nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark&amp; stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +34
     System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark&amp; stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +152
     System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark&amp; stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +77
     System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark&amp; stackMark, Boolean forIntrospection) +16
     System.Reflection.Assembly.Load(String assemblyString) +28
     System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +38
  
  [ConfigurationErrorsException: Could not load file or assembly 'PDFNet64' or one of its dependencies. An attempt was made to load a program with an incorrect format.]
     System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +752
     System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +218
     System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +130
     System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +170
     System.Web.Compilation.WebDirectoryBatchCompiler..ctor(VirtualDirectory vdir) +124
     System.Web.Compilation.BuildManager.BatchCompileWebDirectoryInternal(VirtualDirectory vdir, Boolean ignoreErrors) +44
     System.Web.Compilation.BuildManager.BatchCompileWebDirectory(VirtualDirectory vdir, VirtualPath virtualDir, Boolean ignoreErrors) +187
     System.Web.Compilation.BuildManager.CompileWebFile(VirtualPath virtualPath) +74
     System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +299
     System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile, Boolean throwIfNotFound, Boolean ensureIsUpToDate) +103
     System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean throwIfNotFound) +165
     System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp) +43
     System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath) +31
     System.Web.UI.PageHandlerFactory.GetHandler(HttpContext context, String requestType, String virtualPath, String path) +37
     System.Web.MaterializeHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute() +346
     System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp; completedSynchronously) +155
  
  
  Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.18033 
  </code></pre>
  
  <p>I have already searched a lot in the web and in google groups, and I have already tried these solutions (among the others), <a href="https://groups.google.com/forum/?fromgroups=#!searchin/pdfnet-sdk/load%2420assembly/pdfnet-sdk/OqVycSlOlB0/WN7UNwJ-7FoJ" rel="noreferrer">THIS</a> and for instance <a href="https://groups.google.com/forum/?fromgroups=#!searchin/pdfnet-sdk/load%2420assembly/pdfnet-sdk/jXBDWdV0_NQ/lbTUzboBmncJ" rel="noreferrer">THIS</a></p>
  
  <p>I'm running a Windows 8 x64 PC, and I DO have the Visual c++ 2010 x64 redistributable installed on my machine. I have also tried the console applications provided by the samples downloaded from pdftron.com, and those work ok in all versions of .NET. I have tried creating a console app of  my own and that too works on all versions of .NET. I had then thought it was maybe the fault of VS2012 development server which runs in x86 mode, so I set up a IIS website and run it from there, but still the same problem.
  I am a bit bereft, does anybody have any ideas? Thanx.</p>