title: How does Excel VSTO Work?
body: <p>How does Excel VSTO Work?  If I create an Excel Workbook solution in Visual Studio 2005 I can then happily code away with full access to the Excel object model and even treat the Excel sheet as a design surface.  When I build the solution I get a <code>.XLS</code> file and a <code>.DLL</code> (containing my C# code).</p>
  
  <p>I can now start up the Excel sheet just by double clicking on the <code>.XLS</code> and there is my sheet functioning with all my C# code and any controls I dropped on the sheet etc.</p>
  
  <p>How is the sheet referencing the <code>.DLL</code>?  What part of the excel workbook/sheet tells it that it needs to fire up the CLR and host my assembly? </p>