"The located assembly's manifest definition does not match the assembly reference"
<p>I have deployed an .NET WebAPI app (compiled against .NET 4.5.2, and running locally) into an Azure App Service.</p>

<p>The error thrown there is </p>

<blockquote>
  <p>Could not load file or assembly 'System.Web.Mvc, Version=4.0.40804.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.</p>
</blockquote>

<p>I have checked that the System.Web.Mvc.dll in the App service's <code>bin</code> directory has a size of 505504 bytes - the very same size as my local System.Web.Mvc.dll, which is version 4.0.40804.0, changed 2014-09-25, and working locally without issue. The only difference I can tell is that I have .NET 4.5.2 installed locally, not 4.6.1, like Azure does.</p>

<p>The entry in my Web.config is</p>

<pre><code>  &lt;dependentAssembly&gt;
    &lt;assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /&gt;
    &lt;bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="4.0.40804.0" /&gt;
  &lt;/dependentAssembly&gt;
</code></pre>

<p>but I have already tried</p>

<pre><code>  &lt;dependentAssembly&gt;
    &lt;assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" /&gt;
    &lt;bindingRedirect oldVersion="1.0.0.0-5.0.0.0" newVersion="4.0.0.0" /&gt;
  &lt;/dependentAssembly&gt;
</code></pre>

<p>which doesn't work either.</p>

<p><strong>How do I have to edit that entry for my application to find the System.Web.Mvc.dll?</strong></p>

<p>For reference, the full error message is:</p>

<blockquote>
  <p>Server Error in '/' Application.</p>
  
  <p>Could not load file or assembly 'System.Web.Mvc' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)</p>
  
  <p>Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. </p>
  
  <p>Exception Details: System.IO.FileLoadException: Could not load file or assembly 'System.Web.Mvc' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)</p>
  
  <p>Source Error: </p>
  
  <p>An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.</p>
  
  <p>Assembly Load Trace: The following information can be helpful to determine why the assembly 'System.Web.Mvc' could not be loaded.</p>
  
  <p>WRN: Assembly binding logging is turned OFF.
  To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
  Note: There is some performance penalty associated with assembly bind failure logging.
  To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].</p>
  
  <p>Stack Trace: </p>
  
  <p>[FileLoadException: Could not load file or assembly 'System.Web.Mvc' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]</p>
  
  <p>[FileLoadException: Could not load file or assembly 'System.Web.Mvc, Version=4.0.40804.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
     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) +36
     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) +21
     System.Reflection.Assembly.Load(String assemblyString) +28
     System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +38</p>
  
  <p>[ConfigurationErrorsException: Could not load file or assembly 'System.Web.Mvc, Version=4.0.40804.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
     System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +738
     System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +217
     System.Web.Configuration.CompilationSection.LoadAssembly(AssemblyInfo ai) +130
     System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +170
     System.Web.Compilation.BuildManager.GetPreStartInitMethodsFromReferencedAssemblies() +92
     System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean&amp; isRefAssemblyLoaded) +290
     System.Web.Compilation.BuildManager.ExecutePreAppStart() +157
     System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +531</p>
  
  <p>[HttpException (0x80004005): Could not load file or assembly 'System.Web.Mvc, Version=4.0.40804.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
     System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9947380
     System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
     System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +261</p>
  
  <p>Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.6.1055.0</p>
</blockquote>