Microsoft.Bureau de.Interop.Excel ne fonctionne pas en 64 bits

J'ai rencontré un problème lors du développement sur MS Visual Web Developer 2008 Express Ed.
Le développement de ASP.NET C# sur Windows 7 64 bit OS.

J'essaie d'ouvrir un document Excel, mais il me donne Old format or invalid type library. (Exception from HRESULT: 0x80028018 (TYPE_E_INVDATAREAD))

Je n'ai configuré le construire pour tous les processeurs (CPU, x64, x86) mais ça ne fonctionne pas. J'ai cherché la réponse sur internet mais je ne pouvais pas savoir comment le gérer.

La chose étrange est le même code a travaillé sur le même système quand j'ai développé sur Microsoft Visual C# 2010 Express! comment venir? n'est-il pas la même dll de travail derrière?

Ce que je dois changer que la dll COM va donc travailler sur x64 système?

S'il vous plaît aidez-moi, que puis-je faire?

Mon code est:

using Excel = Microsoft.Office.Interop.Excel;
xlApp = new Excel.Application();
__Log("Openning " + excelFileName);
xlWorkBook = xlApp.Workbooks.Open(excelFileName, 0, true, 5, "", "", true, Microsoft.Office.Interop.Excel.XlPlatform.xlWindows, "\t", false, false, 0, true, 1, 0);
xlWorkSheet = (Excel.Worksheet)xlWorkBook.Worksheets.get_Item(2);
Je ne suis pas complètement sûr de ce willl résoudre votre problème, mais si vous avez un 32-bit DLL COM, vous avez probablement besoin d'utiliser un x86 version de votre projet, même si vous êtes en cours d'exécution sur Windows 64 bits.
Je pense que vous avez eu la bonne idée @Andrew. Si c'est 32 bits d'Excel, 64bit .net ne voulez plus travailler avec elle. Construire x86 et cela devrait fonctionner.
Déjà essayé.. mais la même chose s'est produite, je ne comprends pas pourquoi ce problème n'est pas apparut dans Visual C# et seulement dans les développeur Web

OriginalL'auteur Bush | 2011-11-24