title: FileLoadException after NuGet Update
body: <p>After doing an update of all NuGet packages, one of my applications began crashing on start-up with a <code>FileLoadException</code>:</p>
  
  <pre><code>Could not load file or assembly 'Microsoft.Practices.ServiceLocation, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies.
  </code></pre>
  
  <p>This was after upgrading <code>ServiceLocation</code> to version 1.3.0.0, and I double-checked all assemblies to ensure that they were using that version. I then ran <code>Fuslogvw</code> to diagnose the assembly that was still referencing the old version:</p>
  
  <pre><code>LOG: DisplayName = Microsoft.Practices.ServiceLocation, Version=1.2.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35
  (Fully-specified)
  LOG: Appbase = file:///C:/Users/Charlie/AppData/Local/Programs/MyClient/
  LOG: Initial PrivatePath = NULL
  LOG: Dynamic Base = NULL
  LOG: Cache Base = NULL
  LOG: AppName = MyClient.exe
  Calling assembly : Microsoft.Practices.Prism.UnityExtensions, Version=5.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35.
  ===
  </code></pre>
  
  <p>So, <strong><code>UnityExtensions</code></strong> (another NuGet package) is still referencing the old version. But that should be OK, because I've added a <code>bindingRedirect</code> to my app.config file:</p>
  
  <pre><code>&lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&gt;
    &lt;dependentAssembly&gt;
      &lt;assemblyIdentity name="Microsoft.Practices.ServiceLocation" publicKeyToken="31bf3856ad364e35" culture="neutral" /&gt;
      &lt;bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.3.0.0" /&gt;
    &lt;/dependentAssembly&gt;
  &lt;/assemblyBinding&gt;
  </code></pre>
  
  <p>But this seems to make no difference. My application is targeting .NET Framework 4.5.1, and I've tried it with <code>AutoGenerateBindingRedirects</code> on and off. In other words, I've tried literally everything. What is going on here?</p>