title: exe and dll referencing dll with the same name and same namespace
body: <p>I have a following problem:<br>
  I have two projects in one solution, e.g. <code>Core.prj</code> and <code>Extension.prj</code>.<br>
  Now, <code>Core.prj</code> references a dll with name <code>profile.dll</code>(v1) and <code>Extension.prj</code> references the dll with the same name and same namespace but a different version <code>profile.dll</code>(v2). 
  <code>Extension.prj</code> also references <code>Core.prj</code> project.<br>
  <code>Core.prj</code> has a source file, e.g. <code>A.cs</code> with some virtual methods defined in it. <code>Extension.prj</code> has a source file, e.g. <code>B.cs</code> which has some methods overriding virtual methods defined in <code>A.cs</code> from <code>Core.prj</code>.  </p>
  
  <p>My idea was to build and run <code>Extension.prj</code> and to call virtual methods in <code>A.cs</code> from overrided methods in <code>B.cs</code>. Now, methods in <code>B.cs</code> would use types from <code>profile.dll</code>(v2) and methods in <code>A.cs</code> would use types from <code>profile.dll</code>(v1), but this isn't possible since virtual methods from <code>A.cs</code> use types from <code>profile.dll</code>(v2) and not from <code>profile.dll</code>(v1). </p>
  
  <p>Is this idea of referencing different versions of dll, with the same name and namespace, from exe and dll feasible in anyway?  </p>