pma3d
Messages postés36Date d'inscriptionlundi 13 juin 2005StatutMembreDernière intervention14 septembre 2005
-
9 août 2005 à 10:00
pma3d
Messages postés36Date d'inscriptionlundi 13 juin 2005StatutMembreDernière intervention14 septembre 2005
-
9 août 2005 à 10:27
Bonjour,
Je développe actuellement un service web en C# utilisant des DLL en C++ managé.
Jusque là, pour les différents tests effectués, j'utilisais deux DLLs
C++ que j'ai moi même converties en managé. J'ai essayé des services
web C#, mais aussi des services web C++ qui utilisaient ces deux DLL
sans aucun problème.
Mais voilà, depuis maintenant une semaine, je veux passer à l'étape
supérieure, c'est-à-dire faire le vrai service web complet dont j'ai
besoin, utilisant d'autres dll c++ que je dois donc convertir. Pour
procéder par étapes, j'ai commencé par traduire une nouvelle dll, que
j'essaye d'intégrer à mon service web.
Mais voilà, la compilation et l'édition de lien du services se
passent sans problème, et au moment où IE s'ouvre pour afficher
la page de description du service web, il me met une 'Erreur de
configuration', le message d'erreur exact étant le suivant :
Le fichier ou l'assembly nommé ServiceWeb ou l'une de ses dépendances,
est introuvable.
En dessous, il m'indique que le problème vient de la ligne 199 du fichier machine.config (que je n'avais jamais vu jusque là) :
Ligne 199 :
Alors, comme je vois déjà venir les réponses évidentes, voici les tests que j'ai effectués :
- dès que j'enlève le #include relatif à la 3ème dll, en laissant les 2 premières, tout remarche parfaitement,
- toutes mes dlls c++ d'origine sont dans le même répertoire.
Donc, si elles sont trouvées pour les 2 premières, elles le sont aussi
pour la nouvelle.
- pour simplifier le debugage, je n'ai mis dans les dll c++
managé que le strict minimum, à savoir un constructeur et un
destructeur,
- au niveau des sources de mes dlls managées, la 3ème est une
copie EXACTE des 2 premières, mis à part le nom des classes évidemment,
- j'ai essayé de convertir une autre dll, avec le même résultat dès que je l'utilise
En gros, tout les tests que je fais depuis une semaine tendent à
prouver qu'il ne devrait pas y avoir de problème de dépendance
introuvable.
C'est pourquoi je fais appel à vous, je ne sais vraiment plus où
chercher. Les quelques cas recensés sur le net correspondaient toujours
à l'oubli d'inclusion d'une dll dans les dépendances du projet, ou
quelque chose dans ce genre, ce qui n'est pas mon cas (j'en suis à le
vérifier 10 fois par jour !!!!!).
pma3d
Messages postés36Date d'inscriptionlundi 13 juin 2005StatutMembreDernière intervention14 septembre 2005 9 août 2005 à 10:27
Bon, j'ai l'art de poster et de trouver des réponses dans la foulée,
mais cette fois-ci, j'aimerais que vous m'aidiez à comprendre.
Il se trouve que je suis en alternance, et que les 2 premières dll que
j'ai traduites marchaient bien parce que j'ai eu la bonne idée il y a
un mois et demi de mettre les dll en mc++ correspondantes le repertoire
system32. Malheureusement, avec l'interruption due aux cours et les
vacances qui ont suivi, cette action m'était sortie de la tête.Je viens
seulement de m'en rendre compte en me plongeant dans l'énorme quantité
de messages générés lors de la compilation.
Bref, mais alors question : durant tous mes tests de cette semaine, je
me suis rendu compte que le dossier contenant toutes mes dll d'origine
n'était référencé nulle part. Comme conseillé sur le net, j'ai donc
placé ce dossier dans la variable d'environnement PATH, pensant que
cela arrangerait tout. Cela n'a rien fait.
D'où ma question : comment se fait-il que mes dll soient trouvées dans
system32 et pas dans mon répertoire, alors que PATH contient les 2
chemins ? Y a-t-il une autre variable d'environnement qui entre en jeu ?