title: Could not load type Microsoft.Office.Interop.Excel._Application
body: <p>I'm getting a error when I try to debug a code that reads Excel files. I'm wondering if the reference to 'Microsoft.Office.Interop.Excel._Application' is wrong, I get the following error.</p>
  
  <p>isn't the <code>Microsoft.Office.Interop.Excel</code> version suppose to be 12? and not loaded from my project assembly?</p>
  
  <blockquote>
    <p>Could not load type
    'Microsoft.Office.Interop.Excel._Application'
    from assembly 'Dialog,
    Version=1.0.0.0, Culture=neutral,
    PublicKeyToken=null'. The type is
    marked as eligible for type
    equivalence, but the containing
    assembly is not loaded as fully
    trusted.</p>
  </blockquote>
  
  <p>When I try to debug the code I get the exception before I can step into the function.</p>
  
  <pre><code>DataTable data = ExcelImport.GetDataFromFile(file);
  </code></pre>
  
  <p>My function</p>
  
  <pre><code>public static DataSet GetDataFromFile(string fileName)
      {
          Application oXL;
          Workbook oWB;
          Worksheet oSheet;
          Range oRng;
  
          // Needed to fix culture problem with excel files.
          CultureInfo cult = System.Threading.Thread.CurrentThread.CurrentCulture;
          System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
          try
          {
              //  creat a Application object
              oXL = new Application();
              //   get   WorkBook  object
              oWB = oXL.Workbooks.Open(fileName, Missing.Value, Missing.Value,
                      Missing.Value, Missing.Value, Missing.Value,
                      Missing.Value, Missing.Value, Missing.Value,
                      Missing.Value, Missing.Value, Missing.Value, Missing.Value,
                      Missing.Value, Missing.Value);
  
              //   get   WorkSheet object
              oSheet = (Worksheet)oWB.Sheets[1];
              System.Data.DataTable dt = new System.Data.DataTable("dtExcel");
              DataSet ds = new DataSet();
              ds.Tables.Add(dt);
  
              //StringBuilder sb = new StringBuilder();
              int jValue = oSheet.UsedRange.Cells.Columns.Count;
              int iValue = oSheet.UsedRange.Cells.Rows.Count;
              //  get data columns
              for (int j = 1; j &lt;= jValue; j++)
              {
                  dt.Columns.Add("column" + j, Type.GetType("System.String"));
              }
  
              //  get data in cell
              for (int i = 1; i &lt;= iValue; i++)
              {
                  var test = (Range)oSheet.Cells[i, 1];
  
                  if (!string.IsNullOrEmpty(test.Text))
                  {
                      DataRow dr = ds.Tables["dtExcel"].NewRow();
                      for (int j = 1; j &lt;= jValue; j++)
                      {
                          oRng = (Range)oSheet.Cells[i, j];
                          string strValue = oRng.Text.ToString();
                          dr["column" + j] = strValue;
                      }
                      ds.Tables["dtExcel"].Rows.Add(dr);
                  }
              }
              oXL.Workbooks.Close();
              System.Threading.Thread.CurrentThread.CurrentCulture = cult;
              return ds;
          }
          catch (Exception ex)
          {
              throw new Exception("Error reading excel file", ex);
          }
      }
  </code></pre>