title: How to use two different NuGet packages with different log4net version requirements
body: <p>I'm working on a project where we're including the UmbracoCms NuGet package which internally uses the log4net framework version 1.2.11 to perform logging. Now we want to add another package (SharpRaven.Log4Net) which has a dependency on log4net 1.2.15. Just installing the second NuGet package yields an exception:</p>
  
  <pre><code>Could not load file or assembly 'log4net, Version=1.2.11.0, Culture=neutral, 
  PublicKeyToken=null' or one of its dependencies. The located assembly's 
  manifest definition does not match the assembly reference. (Exception from 
  HRESULT: 0x80131040)
  </code></pre>
  
  <p>This is obviously because Umbraco is referencing the 1.2.11 version and my project is now referencing the 1.2.15 version, but how do I resolve this? I can't:</p>
  
  <ul>
  <li>Change the version requirements of either package (really not willing to go build them from source)</li>
  <li>Add both references to my project as they are the same component (VS won't allow it)</li>
  <li>Remove the 1.2.15 version and add the 1.2.11 version. This gives me the same error, but then with the other version number.</li>
  <li>Create a bindingRedirect because the required log4net versinos don't not have a publicToken.</li>
  </ul>
  
  <p>I don't really see any other options, so any help would be appreciated.</p>
  
  <p><strong>Update to clarify why it's not a duplicate question of 3158928</strong></p>
  
  <p>I'd like to stress that the issue here is that the log4net assemblies that are referenced by the NuGet packages have a PublicKeyToken of <code>null</code>. The earlier question posted here <a href="https://stackoverflow.com/questions/3158928/referencing-2-different-versions-of-log4net-in-the-same-solution">Referencing 2 different versions of log4net in the same solution</a> has some good answers, but does not have this problem and as such does not answer this question.</p>