web-dev-qa-db-fra.com

Erreurs App.Config avec "Echec de l'initialisation du système de configuration"

J'ai une application console écrite en C # sous .net 4.0. Elle contient un ensemble de variables que je souhaite transférer dans App.Config (elles seront donc toutes au même endroit). Ajout de cette partie de code à App.Config (entre les balises de configuration):

<configuration>
  <appSettings>
    <add key="RemoteDirectory" value="Some Text Here"/>
  </appSettings>
</configuration>

Dans mon programme essayant de le tester avec ce code 

Console.WriteLine(ConfigurationManager.AppSettings["RemoteDirectory"]);

mais je continue à avoir l'erreur "Echec de l'initialisation du système de configuration".

8
user1930845

Essayez de rechercher l'exception interne pour des informations plus détaillées. Cela m'a aidé quand j'ai eu le même problème.

Vérifiez également si le format est correct pour le .net Framework que vous utilisez dans votre projet. Si vous utilisez le framework 4.5, il devrait ressembler à celui ci-dessous:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key="RemoteDirectory" value="Some Text Here" />
  </appSettings>
</configuration>
20
Guilherme Melo

L'exception "Echec de l'initialisation du système de configuration" est déclenchée lorsqu'on déclare une balise "appSettings" ou toute autre balise après la balise racine "configuration", avant de déclarer la balise "configSections".

Le schéma d'un fichier de configuration nécessite que la balise "configSections" soit le premier enfant de la balise racine.

<configuration>
  <configSections>
    <section name="xY" type=""/>
  </configSections>  
  <startup> 
    <supportedRuntime version="v4.0" sku=".NET Framework,Version=v4.5.2" />
  </startup>
  <xY></xY>
</configuration>
8
Johnny Camby

Assurez-vous que la section configSections est placée juste après la section de configuration (Premier enfant)

1

Je rencontre aussi cette erreur. Dans mon statut, je mélangeais <configSection> et <connectionStrings> des priorités. J'ai changé l'ordre des tags. D'abord, j'écris <configSection> puis <connectionStrings> enfin, il a été corrigé. J'espère que ça va aider quelqu'un.

1
arslanaybars

Vous avez trouvé le problèmeLisez l'exception interne en espérant que votre code se trouve dans le bloc try {} catch () {} . Mon exception interne lit; Un seul élément "configSections" est autorisé par fichier de configuration et le cas échéant doit être le premier enfant de l'élément "configuration" racine.

Son explicite J'espère que cela vous aide.

0
mut tony

Puisqu'il s'agit d'un répertoire, je suppose que vous utilisez des symboles incorrects. Peut-être un /?

0
Abhinav

appSettings doit être orthographié correctement. Ce devrait être appSettings - S devrait être capital. J'avais tout cela en minuscule et j'ai eu cette erreur.

0
Rob Sedgwick

Bonne journée, 

J'ai eu le même problème sur un certain PC de l'un de nos clients. Je crois que ce n’est pas le même genre de problème puisque dans mon cas c’est que le fichier C:\Users\"youruser"\AppData\Local\"ProgramEditorName"\"Program.exe keytoprogram"\"ProgramVersion"\user Le fichier .config a été corrompu dans ce PC particulier. J'ai copié ce fichier pour la sauvegarde au cas où et supprimé le fichier. 

Cela a fonctionné pour moi, j'espère que cela peut aider les autres.

Bonne journée,

Xabier

0
Zitu