Repertoire racine de l'application [Résolu]

Signaler
Messages postés
27
Date d'inscription
mardi 1 juin 2010
Statut
Membre
Dernière intervention
9 septembre 2013
-
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
-
Bonjour,
j'ai un problème avec mon application que je veux importer dans dans une autre machine. je veux savoir comment déterminer le répertoire racine de mon application pour que si je l'importe je vais pouvoir voir mes fichiers images stockes dans le dossier image de mon application. Je travaille avec c# Windows form.

10 réponses

Messages postés
65
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
22 juillet 2014
7
Le fait de faire ça te renvoie le répertoire ou se trouve ton executable:
Path = Application.ExecutablePath;

Ensuite tu fais ça le nombre de fois qu'il faut pour retourner à l'endroit ou se situe ton dossier :
Path = Directory.GetParent(Path).ToString(); // Tu arrives dans le répertoire bin
Path = Directory.GetParent(Path).ToString(); // Tu arrives dans le répertoire de l'application
Path = Path + "\images"; // Tu arrives dans le répertoire que tu souhaites

BinKentsu
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
7
Bonjour,

Si tes documents son dans des sous dossiers (par rapport au .exe) tu peux y accéder directement avec "/dossier/blabla.txt" ou pour être sur tu peux utiliser
Application.StartupPath()
qui renvoi le chemin complet vers le .exe
Messages postés
65
Date d'inscription
jeudi 1 septembre 2011
Statut
Membre
Dernière intervention
22 juillet 2014
7
Bonjour,

Il existe une fonction :
Application.ExecutablePath;

BinKentsu
Messages postés
27
Date d'inscription
mardi 1 juin 2010
Statut
Membre
Dernière intervention
9 septembre 2013

le dossier images ne se trouve pas dans bin.
j'ai un dossier application auquel il images,bin,obj, etc..

Application.StartupPath() donne le dossier bin\debug\ mais j'ai besoin de application\images.

Merci pour votre réponse.
Messages postés
27
Date d'inscription
mardi 1 juin 2010
Statut
Membre
Dernière intervention
9 septembre 2013

Merci BinKentsu et Loci ça marche maintenant avec GetParent(Path)
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
7
Salut,

juste une petit conseil. Il vaut mieux ne pas mettre tes ressources dans des dossiers de niveau supérieur à ton .exe.
Le StartupPath() t'affiches /bin/debug parce que l'appli n'est pas déployée et que tes ressources ne sont pas inclues. Mais si tu ajoute tes ressources à ta solution avec l'option toujours copier, ton dossier se trouvera dans /bin/debug/tesressources et comme ça le chemin marchera automatiquement au déploiement.
Messages postés
27
Date d'inscription
mardi 1 juin 2010
Statut
Membre
Dernière intervention
9 septembre 2013

Merci pour les conseils
Visual studio crée un dossier ressource. Est ce que je ne devrais pas copier le dossier images dans Ressources Pour faciliter le déploiement. ou si je crée un dossier dans /bin/debug/mesressources et qu'il sera dans l’exécutable?
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
7
En fait le nom du dossier n'a pas d'importance. Ce qu'il faut c'est que tes fichiers apparaissent dans ta solution et que pour chaque fichier tu ai l'option "toujours copier". Ça qui signifie que à chaque déploiement le dossier et les fichiers seront automatiquement placés au bon endroit et qu'il suffira d'utiliser un chemin relatif pour y accéder.

Mais après c'est juste ma façon de faire. Si tu as trouvé une manière qui marche touches plus a rien
Messages postés
99
Date d'inscription
jeudi 17 janvier 2008
Statut
Membre
Dernière intervention
25 juillet 2013
1
Bonjour L0ci, merci pour tes conseils. En ce qui me concerne, j'utilise VS-2008 pro en Anglais, alors je souhaiterais comprendre où trouver
Ce qu'il faut c'est que tes fichiers apparaissent dans ta solution et que pour chaque fichier tu ais l'option "TOUJOURS COPIER".

Car voici à chaque fois que j'essaie de déployer mon application, j'ai toujours des fichiers manquant. Merci de me repondre
Messages postés
224
Date d'inscription
vendredi 26 novembre 2010
Statut
Membre
Dernière intervention
11 juin 2013
7
Bonjour,

Alors il faut que les fichiers que tu souhaites déployer apparaissent dans ta solution. Ensuite tu clique sur chaque fichier et tu regarde dans les propriétés et tu mets
Build Action -> Resource
Copy to output directory -> always copy
(j'ai pas ma version anglaise sous la main mais ça doit être a peu prêt ça)