Problème de référence entre C# et Word

Résolu
Signaler
Messages postés
135
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 avril 2012
-
Messages postés
135
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 avril 2012
-
Bonjour,


J'ai fait une DLL en C# et lorsque j'essaie de l'appeler en vba sous Word 2003 j'obtiens toujours l'erreur suivante :


Erreur -2147024894 (80070002) "Le fichier ou l'assembly ou l'une de ces dépendance est introuvable"


Pourtant j'ai rendu ma DLL visible par com, et donc dans le code vba, mes classes (et mes fonctions sont bien visibles).


D'où vient ce problème ?

Merci d'avance

9 réponses

Messages postés
135
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 avril 2012
1
Hourrrrrra!!! Grace aux liens que tu m'as donné j'i trouvé indirectement la solution, merci beaucoup ShareVB  . Il semble que ce soit un problème récurrent lors de déploiement de DLL pour office. La solution est en fait de télécharger MVS tools 2005 et de l'installer. Puis de faire un regasm de la dll :

1) Télécharger MVS tools : je mettrai le lien demain

2)Faire : regasm taDll.dll /tlbexp:taDll.tlb /codebase                      (je n' ai pas la ligne sous les yeux mais en gros c'est ça)

En éspérant que ça puisse aider d'autres personnes.
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
24
salut,

tu as deux solutions :
-> soit tu la stringname et tu la mets dans le GAC
-> soit tu la register avec /codebase pour être sûr d'inclure le path dans l'enregistrement COM

ShareVB
Messages postés
135
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 avril 2012
1
Merci pour ta réponse. Mais pourrais tu epliciter un peu plus, je ne vois pas ce qu'il faut faire concrètement ?
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
24
salut,

ben, le plus simple est d'exécuter "regasm /codebase tadll.dll" depuis l'endroit où tu installes tadll...

ShareVB
Messages postés
135
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 avril 2012
1
J'ai essayé ta solution mais ça ne fonctionne pas  . Ce qui  est étrange c'est que j'ai testé ma dll C# avec un formulaire VB pour voir si la dll était reconnu, et ça marche très bien. Par contre, sous Word, impossible de faire fonctionner la dll, bien que Word la voit lorsque j'ajoute la référence à la dll, lorsque je lance le formulaire word (ma dll est censée m'aider à remplir un formulaire) j'ai toujours une erreur du style "impossible de trouver la dll maDll.dll ..."
Messages postés
2676
Date d'inscription
vendredi 28 juin 2002
Statut
Membre
Dernière intervention
13 janvier 2016
24
salut,

ne serait-ce pas ceci : http://support.microsoft.com/kb/824013

ShareVB
Messages postés
135
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 avril 2012
1
J'ai vérifié, et non, il n'y a pas de virgule dans le nom de l'assembly, ce n'est donc malheuresement pas ça...   j'ai beaucoup cherché sur le net mais rien ne correspond à mon problème... Si vous avez des idées n'hésite pas.
Merci ShareVB d'avoir pris le temps de répondre.
Messages postés
135
Date d'inscription
mercredi 23 mai 2007
Statut
Membre
Dernière intervention
7 avril 2012
1