title: "Register for COM Interop" vs "Make assembly COM visible"
body: <p>What is the real difference between these two options? What I know is:</p>
  
  <p><strong>Register for COM Interop</strong><br>
  This options executes regasm on the assembly and registers the assembly as an COM component(or maybe not) in the registry with all COM like registry entries.
  Does this step generates a TLB file? What else is done?</p>
  
  <p>Sometimes I see a tlb is generated when I compile the project but sometimes not, why is this? </p>
  
  <p><strong>Make assembly COM visible</strong><br>
  What effect does this one has on an assembly? If I have the following type inside this assembly, do I still need to specify the "Make assembly COM Visible" even though my type is marked as ComVisible?</p>
  
  <pre><code>[GuidAttribute("02810C22-3FF2-4fc2-A7FD-5E103446DEB0"), ComVisible(true)]
  public interface IMyInterface
  {
  }
  </code></pre>