title: Microsoft Application block DLL V2 and V4.1 references
body: <p>My application is referencing Microsoft Enterprise library V4.1 while one of the older DLL (external application) requires a reference to Microsoft Enterprise library V2.0. I know for sure that i can register both of these assemblies in the GAC and the application will start reading relevant DLL as required but that is not a solution for us since our security expert is not agreeing upon accepting this solution.</p>
  
  <p>Is there any way using the webconfig where I can specifically specify that the Older DLL use V2.0 while the entire application uses 4.V0.</p>
  
  <p>note : We're using Asp.net visual Studio C# </p>
  
  <p>Help needed desperately !
  Thanks</p>
  
  <p>Update : </p>
  
  <p>Tried the solution of using privatePath probing :</p>
  
  <pre><code>    &lt;assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"&gt;
          &lt;probing privatePath="bin;ExtDLL"/&gt;
      &lt;/assemblyBinding&gt;
  </code></pre>
  
  <p>My Web folder now has ExtDLL folder which contains V2.0.0.0 Dlls for Microsoft Enterprise library, but i still get the following exception as soon as i call the external DLL's function which is using V2.0.0.0 assembly:</p>
  
  <pre><code>...System.IO.FileLoadException: Could not load file or assembly 'Microsoft.Practices.EnterpriseLibrary.Data, Version=2.0.0.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>