title: Force load an assembly from the /bin and not the GAC?
body: <p>I have two assemblies, created through conditional compilation (dev and real).</p>
  
  <p>The public surface of these assemblies is 100% identical: both are strongly named; both are signed with the same <code>.snk</code> and therefore have the same <code>PublicKeyToken</code>; both have the same culture and the same version. I cannot change this: making them appear identical is the whole point.</p>
  
  <p>However, on my machine the real assembly is in the GAC. I have an ASP.NET 3.5 WebForms app that references the dev assembly. It absolutely must do that; the real assembly crashes the app.</p>
  
  <p>Is there a way to force a specific ASP.NET application to use the dev one (which is in <code>/bin</code>), given that:</p>
  
  <ul>
  <li>There is one in the GAC.</li>
  <li>Both have the same <code>Version</code> and <code>PublicKeyToken</code>.</li>
  <li>Both are strongly named/signed with the same key.</li>
  <li>I can not change them, can't change the version, and can't remove the key.</li>
  </ul>
  
  <p>I noticed that someone already asked this in <a href="https://stackoverflow.com/questions/991293/">#991293</a>, but the accepted answer involved removing the signing, which isn't an option here.</p>
  
  <p>Am I out of luck?</p>