title: unable to cast COM object of type 'microsoft.Office.Interop.Excel.ApplicationClass' to 'microsoft.Office.Interop.Excel.Application'"
body: <p>This is my first attempt to capture some data from excel from within one C# console application.</p>
  
  <p>I get the error "unable to cast COM object of type 'microsoft.Office.Interop.Excel.ApplicationClass' to 'microsoft.Office.Interop.Excel.Application'".</p>
  
  <p>This code used the 'Microsoft Excel 12.0 Object Library' , and I gave reference to Microsoft.Office.Interop.Excel.</p>
  
  <p>Still, I could not get over this error - which I believe has its own quick solution.</p>
  
  <p>I digged a little bit this site and came across with this solution:
  <a href="https://stackoverflow.com/questions/2483659/interop-type-cannot-be-embedded">Interop type cannot be embedded</a></p>
  
  <p>However, I could not understand so could not implement what was suggested as a solution.</p>
  
  <p>My .Net version is 4.5.</p>
  
  <p>Any help is very much appreciated.</p>
  
  <p>Thanks in advance.</p>
  
  <pre><code>using System;
  using System.Collections.Generic;
  using System.ComponentModel;
  using System.Data;
  using System.Drawing;
  using System.Linq;
  using System.Text;
  
  using Excel = Microsoft.Office.Interop.Excel;
  
  namespace deneme
  {
  class Program
  {
      static void Main(string[] args)
      {
  
          Excel.Application xlApp = new Excel.Application();
          xlApp.Visible = true; // &lt;-- excel application
          xlApp.DisplayAlerts = false;
  
          // Open the workbook.
          Excel.Workbook wBook = xlApp.Workbooks.Open("C:\\FNN\\XLA\\fnnComTemplate.xlsx",
              Type.Missing, Type.Missing, Type.Missing, Type.Missing,
              Type.Missing, Type.Missing, Type.Missing, Type.Missing,
              Type.Missing, Type.Missing, Type.Missing, Type.Missing,
              Type.Missing, Type.Missing);
  
          // get the sheet
          Excel.Worksheet wSheet = wBook.Sheets[0];
          // foreach (Excel.Worksheet sheet in wBook.Sheets) { if (sheet.Name == "templateSheet") { wSheet = sheet; } }
  
          Excel.Range rng = wSheet.get_Range("A1");
  
          aux = wSheet.Range["F6"].Value;
  
          Console.WriteLine("interop result:" + aux);
          Console.ReadLine();
  
      }
  
  }
  }
  </code></pre>