6
votes

Je reçois l'erreur "Application" est ambiguë dans l'espace de noms "Microsoft.Office.interop.excel"

J'ai un projet qui ouvre un fichier Excel simple et la populaire. Cela fonctionnait bien jusqu'au matin, quand il a soudainement commencé à me donner l'erreur ci-dessus: 'Application' est ambigu dans l'espace de noms 'Microsoft.Office.interop.excel' . .

Je n'ai modifié aucune référence de projet, ni quoi que ce soit dans le fichier lui-même. Les références incluent Microsoft.Office.interop.excel. L'instruction Imports est là: importe Microsoft.Office.interop

La déclaration d'objet est également terminée: DIM XL comme microsoft.office.interop.excel.application Quelle est la ligne qui me donne l'erreur!

J'ai essayé Googling cette erreur et la seule réponse est que je dois déclarer xl comme microsoft.office.interop.excel.application .

Le fait que je n'avais rien changé dans le projet ni que le code ne me dit que c'est une corruption dans Visual Studio 2008. Cependant, le nettoyage et la reconstruction du projet, le redémarrage des fenêtres et le redémarrage de VS n'a aucun effet.

Des idées?


2 commentaires

Supprimer la référence (et tout ce qui semble que cela pourrait être une référence Excel) et l'ajoutez-la


Je ne peux pas marquer ce commentaire comme la réponse ... :-p répondre à la question et je le ferai. J'ai enlevé la référence et cela a fonctionné.


7 Réponses :


6
votes

Je ne pense pas que vous devriez avoir la ligne comme importe Microsoft.Office.interop . Soit utiliser xxx

, puis l'utiliser comme: xxx

ou retirez le Importations tous ensemble et utilisez le Nom complet de partout, comme: xxx


0 commentaires

4
votes

Suppression et ré-ajout de la référence résolue ce problème.


1 commentaires

Merci pour cette solution. Cela a également fonctionné pour moi aussi pour un composant différent, TVC.ocx de Tektronix (installé avec Tekvisa v. 4.04). J'ai eu la même erreur que j'ai déplacé un projet Visual Studio sur un autre ordinateur avec la même version exacte du logiciel Tektronix. Supprimer les références et les ajouter à (Ajouter TVC.OCX de "C: \ Program Files \ ivi Foundation \ Winnt \ Tekvisa \ bin \" à la boîte à outils et glisser "TVC Control" sur le formulaire principal. Et ajoute IVI.Visa .Interop.dll à partir de "C: \ Fichiers de programme \ ivi Foundation \ Visa \ Visacom \ Assemblages interopom primaires \").



0
votes

J'ai noté que les problèmes se produisent lorsque vous avez deux références similaires, chacune à différents endroits. Ainsi, le programme est incapable de réduire à celui que vous impliquez dans le code.

Allez simplement à la page des propriétés et retirez-les, et vous devriez aller bien.


0 commentaires

0
votes

J'avais un problème similaire ramassant un projet que quelqu'un d'autre avait commencé (et travaillait pour eux) et il s'avère que Visual Studio 2010 envisagera que la bibliothèque d'objets Microsoft Excel 15.0 soit une référence différente de celle de Microsoft. Office.interop.excel.dll spécifiquement. Dans mon projet, je devais supprimer le Microsoft.Office.interop.excel.dll et Gardez la bibliothèque d'objets Excel 15.0 pour fonctionner.


0 commentaires

1
votes

a connu le même problème et a pu identifier le problème et la résolution (note: mon problème était avec Outlook, mais la même erreur s'est produite lors de l'utilisation d'Excel):

  1. Aller à Project >> Ajouter des références >> Assemblages >> (Recherchez Outlook) et décochez tout Microsoft.Office.interop.outlook qui sont vérifiés (j'ai vérifié la version 14).
  2. aller au projet >> Ajouter des références >> COM >> (Recherche Outlook) >> Vérifiez la bibliothèque d'objets Microsoft Outlook XX

    Après cela, le code "DIM OLOBJECT comme Outlook.Application" n'a plus eu plus que "l'application" est ambiguë dans l'espace de noms "Microsoft.Office.interop.outlook.

    La même méthode a fonctionné pour résoudre Excel


1 commentaires

Cela m'a aidé à comprendre que le problème était une référence en double, mais j'avais une résolution différente: déposez les «références» dans l'explorateur de la solution et simplement supprimer le double indésirable.



0
votes

Créer un nouveau projet et copiez toutes ces lignes de commandes de votre ancien projet, puis d'ajouter une référence et de sélectionner à nouveau la MS Interop.


0 commentaires

0
votes

Exécutez la mise à jour du gestionnaire de packages Nuget pour Microsoft.Office.interop.excel. Après cela, tous mes problèmes sont partis!


0 commentaires