6
votes

App.config chemin relatif

J'ai dossier "icônes". J'ai besoin d'accéder à la même chose afin d'ajouter une icône à Imagelist code>. J'utilise le fichier app.config en une chemin relatif.

smallImageList.Images.Add(Image.FromFile(ConfigurationSettings.AppSettings["doc"]));


0 commentaires

5 Réponses :


8
votes

Essayez d'ajouter le chemin d'exécution actuel:

smallImageList.Images.Add(Image.FromFile(Path.Combine(AppDomain.CurrentDomain.BaseDirectory, ConfigurationSettings.AppSettings["doc"])));


3 commentaires

Merci pour cela, qui fonctionne ..Event path.getfulllpath (configurationsSettings.appsettings ["doc"]); cela fonctionne..Je voulait savoir est im fait quelque chose qui ne va pas dans la petiteimagéliste.images.add (image.fromfile (configurationettin gs.appssets ["doc"]));


smalliMagelist.images.add (image.fromfile (path.getfigulpath (CO NFigurationSettings. appSettings ["doc"])));


Cela aurait dû être marqué comme la réponse. Le problème semblait être que image.fromfile attend un chemin absolu, pas un relatif.



0
votes

Essayez d'utiliser une tilda ... xxx

qui devrait vous démarrer à partir de la racine d'application.


0 commentaires

2
votes

Vous pourriez avoir besoin de concaténer cela avec System.AppDomain.CurrentDomain.BaseDirectory.

J'imagine que That FromFile est relatif au répertoire de travail actuel qui est sujet à modifier. L'autre chose à envisager serait d'intégrer les images dans l'assembly


1 commentaires

Wow, je ne le savais pas. Beaucoup plus simple que ma solution getexecutingAssemblage () ...



0
votes

Votre dossier de travail a été modifié d'une certaine mesure lors de votre exécution de votre programme, vous devez trouver votre propre chemin.

Essayez ceci: P>

using System.Reflection;
string CurrDirectory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

smallImageList.Images.Add(Image.FromFile(Path.Combine(CurrDirectory,ConfigurationSettings.AppSettings["doc"])));


2 commentaires

Bonjour Vinzz, il récupère le chemin C: \ Documents et paramètres \ admin \ Mes documents \ Visual Studio 2008 \ Projets \ IconsloadingIntreeview_files_dem o \ bin \ debug \ \ icons _microsoft bureau Excel 97-2003. ico ".." dans le fichier fil-papier jetant une erreur


Bien sûr, votre kilométrage peut varier. Ajoutez un supplément '..' là ou là si nécessaire. Je ne sais pas où vos icônes sont vraiment; O) BTW, il semble que vous ayez déjà trouvé une solution, n'est-ce pas?



2
votes

Allez à Properties, recherchez «Copier sur le répertoire de sortie» et choisissez «Copier toujours». Ensuite, ça devrait aller bien. J'espère que cela aidera.


0 commentaires