[C#] Répertoire du projet courant à partir d'une librairie ?

Répertoire du projet courant à partir d'une librairie ? [C#] - C#/.NET managed - Programmation

Marsh Posté le 31-03-2008 à 14:19:13    

Hello à tous,
 
je suis actuellement en train de développer un composant personnalisé héritant de "MenuStrip".
Mon objectif est de pouvoir créer dans le répertoire du projet, un fichier XML associé à ce composant lors d'un drag'n drop.
 
Plus clairement:
 
1) Je crée mon composant personnalisé. J'associe à l'évènement "OnControlAdded" la création d'un fichier xml (c'est un exemple). Seulement, il faut que je récupère le répertoire du projet courant.
2) Ensuite, je construis la DLL (en mode release) et je l'importe dans un nouveau projet
3) Je "drag'n drop" le control sur une form et à ce moment là, il doit me créer le fichier.
Et c'est là que ça plante, car je n'arrive pas à avoir le chemin vers le projet courant depuis la librairie. J'arrive à avoir le chemin du projet de la librairie, celui des assemblies, mais pas celui du projet courant, c'est dingue non ?
 
J'ai testé avec Assembly.GetAssembly(), Assembly.GetExecutingAssembly(), Assembly.GetCallingAssembly(), Environnement.CurrentDirectory, etc...
Rien à faire.
 
Je veux créer un composant qui facilite la vie des développeurs, mais là je coince...
 
 
 

Reply

Marsh Posté le 31-03-2008 à 14:19:13   

Reply

Marsh Posté le 31-03-2008 à 19:09:22    

Application.StartupPath
 
La seule contrainte est que dans ta DLL, tu dois ajouter une référence vers System.Windows.Forms

Reply

Marsh Posté le 01-04-2008 à 08:27:46    

Moi j'utilise tout simplement ça :
 

Code :
  1. DirectoryInfo CurrentPath = new DirectoryInfo(System.IO.Path.GetFullPath("." ));


 
Ca fait la même chose que Application.StartupPath (attention, c'est bien le startup path, pas forcément le executable path !)

Reply

Marsh Posté le 01-04-2008 à 15:22:42    

Hello, merci pour vos réponses, mais je dois abandonner cette idée car elle n'est pas "SourceSafe" compliant ;)

Reply

Marsh Posté le 21-04-2008 à 19:35:53    

Ton idée est intéressante. Mais effectivement si tu ajoutes des fichiers crées aux design, SourceSafe ne voit pas les modifications et donc ne va pas archiver tes fichiers (de manière automatique).
 
Le plus simple si tu veux spécifier des paramètres pour ton menu est d'utiliser du code.
Tu peux aussi écrire un designer particulier qui va sérialiser tes paramètres et les convertir en code C# dans la région "Designer" de ta classe. Je ne sais pas si c'est clair?


---------------
Distributeurs automatiques à proximité | Jupiteo - Création et optimisation d'application web
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed