title: Reference Aliases with C# Dynamic Link Library (DLL)
body: <p>So I have created a DLL (Foo.dll) that referenced another DLL (Widget.dll). In order for a solution to use my Foo.dll without having to worry about Widget.dll, I use ILMerge.exe to combine the two.</p>
  
  <p>This allows for my final solution(s) to only need to reference Foo.dll and only have Foo.dll in the final bin\exe folder. This has been working great.</p>
  
  <p>Now, fast forward a bit and my new Solution (Fubar.exe) also happens to need Widget.dll but a newer version. In order for that to work, Fubar.exe has to use a DLL alias with the line..</p>
  
  <pre><code>extern alias myVersionOfWidget;
  </code></pre>
  
  <p>This works and life is great. But as the Author of Foo.dll, it would be nice if Foo could do all the aliasing internally so that Fubar.exe or any other solutions in the future doesn't have to clutter up their code with alias's.</p>
  
  <p>I attempted to implement the alias logic in Foo.dll instead, however Fubar.exe still complains that "The type 'Widget' exists in both blah blah blah.</p>
  
  <p>So I guess I'm asking if there is a way to use the alias or otherwise isolate Widget.dll inside of Foo.dll without causing conflict in the final EXE?</p>