Bonjour
J'ai une DLL utilisé par un webservice.
Je veux dans la DLL recuperer le chemin ou elle se trouve.
D'avance merci
Version imprimable
Bonjour
J'ai une DLL utilisé par un webservice.
Je veux dans la DLL recuperer le chemin ou elle se trouve.
D'avance merci
Bonjour
Ceci devrait faire ton affaire :
Code:
1
2
3
4
5 string GetMyOwnPath() { return Path.GetDirectoryName( Assembly.GetExecutingAssembly().Location); }
non
ça me regle pas le probleme
ça m'envoie ça :
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files\myAppli\9ae8a97c\8142181d\assembly\dl3\0fc9c2a0\0bbd923a_7d57c801
merci
Et bien, ça signifie que ton assembly se trouve à cet endroit, je n'y peux rien :D
Je suppose que IIS a une gestion particulière de copie pour les assembly qu'il utilise.
c'est sur qu'elle ne se trouve pas a cet endroit
elle est dans le d:\web\myAppli
donc !!!
Et bien visiblement si : une copie a du être faite par le système/IIS/etc ...
La ligne de code que je t'ai mentionnée est totalement univoque.
Pas la copie en cours d'exécution visiblement.Citation:
elle est dans le d:\web\myAppli
Tu as été voir sur le path retourné ce qu'il y a ?
Non
Du coup ma question reste totlament entiere
Comment puis-je recuperer le path?
Pas forcement.
GetExecutingAssembly, ca fait ce que ca dit soit recuperer l'assembly executant l'appel, de fait si tu mets ce code hors de la DLL recherchée, tu ne recupereras pas le bon path. =)
Pour ma part, (hypothese la DLL en question a deja ete loader) je te propose de recuperer un type (Truc ici) se trouvant dans ta DLL pour faire :
Bon courage.Code:string s = typeof(Truc).Assembly.Location;
My bad !
Ca m'apprendra à lire en diagonale. =(
Donc oui la methode proposée devrait marcher, apres je ne connais pas du tout IIS ou ASP et ses subtilitées.
*va se flageler avec des orties*
edit : haurtaugrafe
ça m'apprendra à écouter les gens qui lise en diagonale. ;)Citation:
Ca m'apprendra à lire en diagonale.
Bon courage...