2009-01-14 5 views
25

Dans mon application winform, j'essaie d'ajouter un paramètre userSetting, bien que l'erreur se produise aussi avec appSettings. Lorsque le réglage est ajouté, je reçois un exeption jeté qui dit: « système de configuration n'a pas pu initialiser » avec une exception interne « section de configuration non reconnu userSetting ».NET 3.5 - Le système de configuration n'a pas réussi à initialiser l'exception

Détails de l'exception:

System.Configuration.ConfigurationErrorsException was unhandled 
    Message="Configuration system failed to initialize" 
    Source="System.Configuration" 
    BareMessage="Configuration system failed to initialize" 
    Line=0 
    StackTrace: 
     at System.Configuration.ConfigurationManager.PrepareConfigSystem() 
     at System.Configuration.ConfigurationManager.RefreshSection(String sectionName) 
     at System.Configuration.ClientSettingsStore.ReadSettings(String sectionName, Boolean isUserScoped) 
     at System.Configuration.LocalFileSettingsProvider.GetPropertyValues(SettingsContext context, SettingsPropertyCollection properties) 
     at System.Configuration.SettingsBase.GetPropertiesFromProvider(SettingsProvider provider) 
     at System.Configuration.SettingsBase.GetPropertyValueByName(String propertyName) 
     at System.Configuration.SettingsBase.get_Item(String propertyName) 
     at System.Configuration.ApplicationSettingsBase.GetPropertyValue(String propertyName) 
     at System.Configuration.ApplicationSettingsBase.get_Item(String propertyName) 
     at Settings.get_ApplicationData() in \Properties\Settings.Designer.cs:line 41 
     at Common.Initialize.IsSettingsInitialized() 
     at SurveyClient.Program.Main() 
     at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args) 
     at System.AppDomain.ExecuteAssembly(String assemblyFile, Evidence assemblySecurity, String[] args) 
     at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly() 
     at System.Threading.ThreadHelper.ThreadStart_Context(Object state) 
     at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state) 
     at System.Threading.ThreadHelper.ThreadStart() 
    InnerException: System.Configuration.ConfigurationErrorsException 
     Message="Unrecognized configuration section userSettings. 
     Source="System.Configuration" 
     BareMessage="Unrecognized configuration section userSettings." 
     Line=3 
     StackTrace: 
      at System.Configuration.ConfigurationSchemaErrors.ThrowIfErrors(Boolean ignoreLocal) 
      at System.Configuration.BaseConfigurationRecord.ThrowIfParseErrors(ConfigurationSchemaErrors schemaErrors) 
      at System.Configuration.BaseConfigurationRecord.ThrowIfInitErrors() 
      at System.Configuration.ClientConfigurationSystem.OnConfigRemoved(Object sender, InternalConfigEventArgs e) 
     InnerException: 
+1

Pouvez-vous publier le fichier app.config? – VVS

+0

Assez explicite ... 'Section de configuration non reconnue userSettings.' –

Répondre

25

Essayez de vérifier que l'application. fichier config (myapp.exe.config une fois déployée) existe et a en haut (peut-être avec les autres bits)

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
<configSections> 
<sectionGroup name="userSettings" 
    type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" > 
</sectionGroup> 
+1

Merci, mais c'est là. Je l'ai soufflé et je l'ai recréé plusieurs fois. – AdamSane

+0

J'ai le même problème mais cela ne me résout pas. – abhishek

+14

L'important pour moi était "dans l'élément" configuration ", le premier enfant doit être l'élément" configSections "" (tiré de http://stackoverflow.com/a/6472696/61697) – demoncodemonkey

1

probablement le problème est que votre fichier de configuration ne se conforme pas à son schéma. Par exemple, ce problème peut être recréé en dupliquant la section ConnectionStrings.

5

Je reçois cette erreur lorsque j'écris mon App.Config (stupidement) comme ci-dessous.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 

<!--List of XMLFiles Begins --> 
    <add key="ConfigFileEnvironment" value="C:\Program Files\MyProduct\Config\Environment.xml" /> 
<!--List of XMLFiles Ends --> 

</configuration> 

Notez qu'il n'y a pas d'appSettings? Je l'habitude de faire cette erreur régulièrement ...

+0

cela m'a aidé! Merci beaucoup! – jomsk1e

2

Clean Solution Supprimez tous les fichiers paramètres existant actuellement, ainsi que app.config Fermer VS aller manuellement et effacer le dossier bin et le dossier obj de votre projet Redémarrez PC Re-ajouter le "fichier de configuration de l'application"

+0

A travaillé pour moi. Tnx. – BaBu

4

J'ai commencé à voir ce message lorsque j'ai supprimé tous les paramètres utilisateur. J'ai été en mesure de résoudre ce problème en ajoutant un utilisateur unique dans les fichiers de paramètres.

1

J'ai eu quelques déchets dans mon machine.config qui causait cette erreur. Recherchez la trace de pile d'exception et voyez si vous avez le même problème. Il était essentiellement malformé XML.

25

J'avais quelques paramètres d'utilisateur, puis les enlevés tous et a commencé à voir cette exception - mais seulement en exécutant l'application sans déboguer. Cela a bien fonctionné lors du débogage de l'application. La raison en est que les paramètres au niveau de l'utilisateur sont "mis en cache" dans le dossier Local Application Data et en fait ne sont pas lus à partir du fichier MYAPP.exe.config. Donc ce que j'ai fait était aller à C: \ Utilisateurs \ MYUSERNAME \ AppData \ Local \ MYCOMPANY \ MYAPP.exe_Url_longnastyhash9982749827349879 \ 1.0.0.0 \ user.config (c'est sur Win7, le chemin dépend du système d'exploitation) et supprimé ce dossier (avec le hash long) tout à fait. L'exception est partie. BTW, selon la configuration de vos paramètres, ce fichier user.config peut être sous \ AppData \ Local ou \ AppData \ Roaming.

+0

Le problème m'est arrivé spontanément. Rien n'a changé. Un client a dit que cela a bien fonctionné ce matin, puis il a redémarré l'application et obtenu cette exception. –

+4

Vous êtes un gentleman et un érudit; ceci l'a arrangé pour moi. – Charlie

+0

J'ai corrigé cela en supprimant la section userSettings fautive de ce fichier très de configuration, mais supprimer complètement le fichier fonctionnera probablement aussi. –

2

J'ai rencontré ce problème aujourd'hui et j'ai constaté que je devais accidentellement (sans mentionner une erreur) ajouter une deuxième section de configuration personnalisée à mon App.config. Une fois que j'ai supprimé l'ajout errant, j'ai été en mesure de continuer à exécuter mon application sans problèmes.

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <configSections> 
    <section name="ABCConfig" type="ABC.Configuration.ABCConfigurationSection, ABC"/> 
    <!-- Other custom section definitions --> 
    </configSections> 
    <connectionStrings> 
     <!-- Connection strings go here --> 
    </connectionStrings> 

    <!-- Configure ABC --> 
    <ABCConfig CustomA="blah" CustomB="stuff" /> 

    <!-- Other custom sections --> 

    <!-- Errant addition to Configure ABC which causes the problem - SHOULD NOT BE HERE --> 
    <ABCConfig CustomA="blah" CustomB="stuff" /> 

</configuration> 

La suppression de la deuxième section ABCConfig a résolu mon problème. J'espère que cela t'aides!

+2

Ceci est vrai pour toute section dupliquée. L'exception "Échec de l'initialisation de la section" Configuration "s'est produite et un de nos développeurs a accidentellement créé deux sections suite à la tentative de suppression d'un groupe de sections d'environnement personnalisé. – donperk

0

J'ai rencontré ce problème car j'ai modifié un domaine de paramètre d'application (de 'application' à utilisateur '). Comme je n'ai pas trouvé de solution pour résoudre mon problème, j'ai décidé de supprimer le fichier de paramètres dans l'explorateur de solution. Après cela, j'ai ouvert les propriétés, dans l'onglet 'paramètres', j'ai cliqué sur où il a été proposé de créer le fichier de paramètres. Et un nouveau fichier de paramètres a été créé avec les valeurs que j'ai définies dans le fichier de paramètres précédent. J'ai reconstruit mon projet et ça a bien marché.

0

La balise de démarrage a fait le tour pour moi sur VS version Pro 2013 12.021005.1 avec .Net 4.5.51650 pour l'application de la console (c.-à-app.config fichier)

<?xml version="1.0" encoding="utf-8" ?> 
<configuration> 
    <startup> 
     <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" /> 
    </startup> 
<connectionStrings> 
... 
</connectionStrings> 
</configuration> 
0

affichage Juste ici comme je l'ai trouvé mon corrigez le problème mais ne le voyez pas ici ... J'ai ajouté une balise appSettings sous le nœud de configuration principal et quand j'ai couru j'ai eu la même erreur que OP. Ce qui a été corrigé, c'était de s'assurer que le nœud configSections précédait mon nœud appSettings. enter image description here

+0

Le code réel est beaucoup préféré aux captures d'écran. – ToothlessRebel