[C#] Comment ajouter des references "dynamiques" / en chemin relatif?
Lorsqu'on défini des références à d'autres bibiothèques, elles sont par défaut copiées dans le meme rep que l'application (copy local = true) ou appartiennent au GAC.
Il suffit ensuite de les utiliser ds le code avec using namespace;
Cependant, j'aimerais ne PAS les copier en local, mais specifier un chemin relatif, un peu un équivalent à un #include "mylib.dll" en C.
Comment faire ceci en C#?
Idéalement, j'aimerais même pouvoir définir personaliser le répertoire ds lequel chercher mes DLL, par ex avec un chemin defini dans le app.config.
en gros, j'ai une app A qui utilise un plugin B qui referencie une DLL C. Lorsque je démarre B, avant le code utilisant C, j'aimerais pouvoir lui dire où chercher C.
Comme la référence à C est inscrite dans le manifest de B (un petit coup de IS Disasembler suffit), je vois pas trop comment je peut faire...
Déjà, si j'avais la possiblité de coder "en dur" le chemin de C dans B, ce serait pas mal.
Vous allez me dire: mais pourquoi diable as tu besoin de ceci? Tout simplement parce que A vérifie toutes les DLL dans le rep de B, et C ne lui plait pas (peut etre parce que A et B sont en .NET 2.0 alors que C est en 1.1), donc j'ai besoin de définir C en dehors.
A part ce problème de déploiement, je sais déjà que B+C fonctionnent bien ensemble (test avec une programme standalone indépendant de A).
Avez vous des idées?
NB: mettre C ds le GAC n'est pas une option envisageable.
EDIT: sous VS2005, ds les propritétés d'un project, on peut spécifier des "Reference Paths". Est ce accessible et modifiable ds le code?
http://msdn2.microsoft.com/en-us/lib...7c(VS.80).aspx
Cela semble interessant, mais cela ne marche pas!
Si je supprime mes DLL du rep local, mon programme ne les trouve pas alors qu'elles sont bien ds les ReferencePaths...