J’ai creer un plugin 4D en c++/CLR sous vs2008 qui utilise une dll creer en C#.
Mon plugin fonctionne correctement mais uniquement sur les postes ou vs2008 est installé sinon 4D me dit au lancement de l’application :
Impossible d’éxécuter la méthode du plugin.
J’ai déja essayer d’installé les dll msvc90 sur les postes où il n’y a pas vs2008 mais toujours le même résultat.
Il doit me falloir d’autres dll présentes avec vs2008 mais je ne sais pas lesquelles.
Je dirais le .NET Framework :neutre:
Sinon, utilise Dependency Walker, il te permettra de connaitre les dépendances.
C’est la première chose que j’ai pensé aussi mais le .NET est bon et j’ai aussi essayé vcredist.Pour dependency walker, j’ai essayé mais comme ce que je créé est un plugin 4D, Dependency Walker à un peu de mal à l’analyser correctement.
Edité le 27/01/2009 à 09:37
Vérifies que tu as la dernière version du Framework aussi (3.5 SP1). A la limite, tu peux mettre en ligne ta DLL en C# quelque part que je jette un oeil ?
Ma dll n’utilise pas le framework 3.5 mais juste le 2.0.
Je peux te mettre ma dll en ligne mais le problème ne vien pas de la dll en C# car j’ai essayé de creer un plugin avec les même options de compil (/clr et /md) qui contient juste une fonction add(a,b) et qui renvoie a+b et j’ai la même erreur au lancement de l’application alors que le plugin n’utilise aucune librairie.
Je pense donc que le problème viens de 4D mais c’est bizarre que ça marche sur les postes ou vs2008 est installé.
Dans ce cas vérifie que le SP2 de .NET 2 est bien installé
Ton plugin fait-il appel à des fonctions de 4D ? Si oui, il y a probablement une dll dont le nom commence par “interop” qui a été créée automatiquement. N’oublie pas de la fournir avec le plugin.
Au niveau des Frameworks, tout est bien installé.
Pour le plugin, je le créé avec un outil appelé plugin wizard qui me créé toutes les utilisations des fonctions 4D dans des fichiers qui sont intégrés à mon projet donc le problème ne vient pas d’ici non plus.