title: Could not load file or assembly
body: <p>I have a simple executable that i would like to use a dll in.  I have added it as a reference.  I created an app.config file because the dll is not ultimately going to be in the executable directory.  If i execute my program from the IDE, everything is fine, b/c the the dll is copied it locally, but as soon as i pull my executable out it crashes.  My fusion log implies it that it cannot find the file specified.</p>
  
  <p>My Main() method:</p>
  
  <pre><code>AppDomain currentDomain = AppDomain.CurrentDomain;
  currentDomain.AssemblyResolve += new ResolveEventHandler(MyResolveEventHandler);
  
  Assembly assembly = null;
  String dllLocation = @"C:\BMS_ACTD\bin\DX\Tools\BmsReplayAnalysis.dll";
  IToolsInterface myProgram = null; //from ToolsInterface.dll
  try
  {
      assembly = Assembly.LoadFrom(dllLocation);
  }
  catch
  {
  }
  
  foreach (Type myType in assembly.GetTypes())
  {
      if (myType.GetInterface(typeof(IToolsInterface).FullName) != null)
      {
          myProgram = (IToolsInterface)assembly.CreateInstance(myType.Namespace + "." + myType.Name, true);
          myProgram.RunTool();
          break;
      }
  }
  </code></pre>
  
  <p>Here is my config file:</p>
  
  <pre><code>&lt;runtime&gt;
      &lt;dependentAssembly&gt;
          &lt;assemblyIdentity name="ToolsInterface" publicKeyToken="null" culture="neutral" /&gt;
          &lt;codeBase version="1.0.0.0" href="file://C:/BMS_ACTD/bin/DX/Globals/ToolsInterface.dll"/&gt;
      &lt;/dependentAssembly&gt;
  &lt;/runtime&gt;
  </code></pre>
  
  <p>I don't want to have to worry about doing strong naming.  I will only have 1 version of that dll, and that is all i care about.</p>
  
  <p>here is the excerpt from the fusionlog:</p>
  
  <pre><code>The operation failed.
  Bind result: hr = 0x80070002. The system cannot find the file specified.
  
  Assembly manager loaded from:  C:\Windows\Microsoft.NET\Framework\v4.0.30319\clr.dll
  Running under executable  C:\Users\greenj\Desktop\BmsReplayLauncher.exe
  --- A detailed error log follows. 
  
  === Pre-bind state information ===
  LOG: User = BMS-JMGREEN\greenj
  LOG: DisplayName = ToolsInterface, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null
   (Fully-specified)
  LOG: Appbase = file:///C:/Users/greenj/Desktop/
  LOG: Initial PrivatePath = NULL
  LOG: Dynamic Base = NULL
  LOG: Cache Base = NULL
  LOG: AppName = BmsReplayLauncher.exe
  Calling assembly : BmsReplayLauncher, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.
  ===
  LOG: This bind starts in default load context.
  LOG: Using application configuration file: C:\Users\greenj\Desktop\BmsReplayLauncher.exe.Config
  LOG: Using host configuration file: 
  LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
  LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
  LOG: Attempting download of new URL file:///C:/Users/greenj/Desktop/ToolsInterface.DLL.
  LOG: Attempting download of new URL file:///C:/Users/greenj/Desktop/ToolsInterface/ToolsInterface.DLL.
  LOG: Attempting download of new URL file:///C:/Users/greenj/Desktop/ToolsInterface.EXE.
  LOG: Attempting download of new URL file:///C:/Users/greenj/Desktop/ToolsInterface/ToolsInterface.EXE.
  LOG: All probing URLs attempted and failed.
  </code></pre>