title: Does .NET have a linker?
body: <p><strong><a href="https://codeblog.jonskeet.uk/2009/07/07/faking-com-to-fool-the-c-compiler" rel="nofollow noreferrer">From Jon Skeet's blog:</a></strong></p>
  
  <p>What does the following comment mean?</p>
  
  <pre><code>    // The line below only works when linked rather than
      // referenced, as otherwise you need a cast.
      // The compiler treats it as if it both takes and
      // returns a dynamic value.
      string value = com.MakeMeDynamic(10); 
  </code></pre>
  
  <p>I understand what referencing an assembly is. You may reference it when compiling the program files either using the /ref: switch at the command line or you may add a static reference to the assembly in Visual Studio.</p>
  
  <p>But how do you link to an assembly in .NET? Does he mean, load the assembly using Reflection (Assembly.LoadFile())? Or, the Win32 API LoadLibrary()? Or, does .NET have a linker that I have never heard of?</p>