ConfigurationManager.OpenExeConfiguration - charge le fichier erroné?
J'ai ajouté plusieurs app.config (chacune avec un differet nom) des fichiers à un projet, et ce, à copier dans le répertoire de sortie sur chaque build.
J'essaie d'accès et le contenu de chaque fichier à l'aide de ceci:
System.Configuration.Configuration o = ConfigurationManager.OpenExeConfiguration(@"app1.config");
Le code s'exécute, mais ô.HasFile finit Faux, et o les.FilePath finit par "app1.config.config". Si je change de code:
System.Configuration.Configuration o = ConfigurationManager.OpenExeConfiguration(@"app1");
Le code des bombes avec "Une erreur s'est produite chargement d'un fichier de configuration: Le paramètre "exePath' est pas valide. Nom du paramètre: exePath".
Si je l'ai copier/coller le fichier de config (donc je me retrouve avec app1.config et app1.config.config), puis le code fonctionne très bien, cependant, je pose ce n'est pas une bonne solution. Ma question est donc: comment puis-je utiliser ConfigurationManager.OpenExeConfiguration pour charger un fichier de configuration corretly?
- .net propose un bon article: docs.microsoft.com/en-us/dotnet/api/...
Vous devez vous connecter pour publier un commentaire.
Je ne me souviens pas où j'ai trouvé cette solution mais voici comment j'ai réussi à charger un spécifique exe fichier de configuration:
config.AppSettings["somekey"]
(ouconfig.AppSettings.Settings[]
) sans erreurs d'autorisation d'accès?Selon http://social.msdn.microsoft.com/Forums/en-US/winforms/thread/3943ec30-8be5-4f12-9667-3b812f711fc9 le paramètre est l'emplacement d'un fichier exe, et la méthode de recherche la config correspondant à cette exe (je suppose que le nom du paramètre de exePath de sens maintenant!).
Pour éviter ce problème, vous pouvez le lire dans le fichier de configuration dans un fichier XML, par exemple:
Au moins, c'est la méthode que j'ai utiliser pour le chiffrement et le déchiffrement de la section connectionStrings pour ma console/applications à interface graphique.
exeConfigName
est le nom de l'exécutable, y compris l' .exe.