Génération de dlls / organisation

cs_floc95 Messages postés 8 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 17 janvier 2011 - 14 janv. 2011 à 11:04
cs_floc95 Messages postés 8 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 17 janvier 2011 - 17 janv. 2011 à 08:52
Bonjour,

Je suis confronté à un petit problème que je n'arrive pas à résoudre :

J'ai une application qui a en référence une dll de contrôle utilisateur (que l'on va appeler dll A) que j'ai créé.
Cette dll A fait référence à des dlls d'une autre societé (que l'on va appeler dlls B). Donc à coté de ma dll A, lors de la compilation, j'ai dlls B se rajoute à côté car elles sont necessaire. Ce qui est tout à fait normal.
Le problème c'est que mon application utilise les dlls B mais dans une autre version et ces dlls sont également présente à coté de mon .exe.

Là est le problème, j'ai mon exe avec ses dlls plus la dll A mais la dll A a rapporter ses dlls B. Du coup je ne peut pas avoir plusieurs fois les mêmes dll dans le même dossier.

Dans un soucis d'organisation, nous aimerons pouvoir avoir cette architecture :
/ programme.exe
/ dlls B de mon exe
/ UnDossier / dll A
/ UnDossier / dlls B de dll A


Le problème est que je ne sais pas comment faire pour que mon programme aille chercher la dll A autre par qu'a côté de lui.


C'est compliqué donc j'espère que vous m'aurez compris.


Merci d'avance.

2 réponses

cs_Robert33 Messages postés 834 Date d'inscription samedi 15 novembre 2008 Statut Membre Dernière intervention 14 janvier 2017 33
16 janv. 2011 à 11:54
Bonjour

Si tu veux avoir plusieurs versions d'une même DLL tu peux le faire au travers de l'assembly cache
puis dans les manifests des programmes, ou DLL, tu peux forcer les versions que tu utilises.
Cela nécéssite donc une petite procédure d'installation.

Si tu ne veux pas passer par l'enregistrement dans l'assembly cache renomme une des DLL puis change la réference dans le projet.
Tu peux aussi envisager un chargement dynamique de la DLL, mais c'est plus complexe.

Bob.
C# is amazing, enjoy it!
0
cs_floc95 Messages postés 8 Date d'inscription mercredi 13 février 2008 Statut Membre Dernière intervention 17 janvier 2011 8
17 janv. 2011 à 08:52
Merci pour ta réponse, je vais essayer dans un premier temps de suffixer les dlls par leur numéro de version et changer les références. Puis si ça ne marche pas, je pense que je serais obligé d'utiliser le GAC ^^

Merci ;)
0
Rejoignez-nous