.NET 3.5 - Системе конфигурации не удалось инициализировать исключение - PullRequest
28 голосов
/ 14 января 2009

В моем приложении winform я пытаюсь добавить пользовательские настройки, хотя ошибка происходит и с appSettings. Когда параметр добавлен, я получаю исключение, которое говорит: «Не удалось инициализировать систему конфигурации» с внутренним исключением «Нераспознанный раздел конфигурации userSetting»

Сведения об исключении:

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: 

Ответы [ 11 ]

26 голосов
/ 02 марта 2012

У меня были некоторые пользовательские настройки, затем я удалил их все и начал видеть это исключение - но только при запуске приложения без отладки. Работало нормально при отладке приложения. Причина в том, что настройки уровня пользователя «кэшируются» в папке «Local Application Data» и фактически не читаются из файла MYAPP.exe.config. Поэтому я перешел в C: \ Users \ MYUSERNAME \ AppData \ Local \ MYCOMPANY \ MYAPP.exe_Url_longnastyhash9982749827349879 \ 1.0.0.0 \ user.config (это в Win7, путь зависит от ОС) и удалил эту папку (вместе с длинный хэш) в общем. Исключение ушло. Кстати, в зависимости от того, как настроены ваши настройки, этот файл user.config может находиться в папке \ AppData \ Local или \ AppData \ Roaming.

25 голосов
/ 14 января 2009

Попробуйте убедиться, что файл app.config (myapp.exe.config после развертывания) существует и находится вверху (возможно, с другими битами)

<?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>
5 голосов
/ 25 октября 2010

Я получаю эту ошибку, когда пишу свой App.Config (тупо), как показано ниже.

<?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>

Обратите внимание, что нет никаких настроек приложения? Я делал эту ошибку регулярно ...

4 голосов
/ 06 июня 2011

Я начал видеть это сообщение, когда удалил все пользовательские настройки. Я смог это исправить, добавив один пользовательский набор обратно в файлы настроек.

2 голосов
/ 02 мая 2012

У меня была эта проблема сегодня, и я обнаружил, что я случайно (не говоря уже о том, что ошибочно) добавил второй раздел пользовательских настроек в свой App.config После удаления ошибочного добавления я смог продолжить работу без проблем.

<?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>

Удаление второго раздела ABCConfig решило мою проблему. Надеюсь, это поможет!

2 голосов
/ 09 февраля 2011

Чистый раствор Удалить все существующие в настоящее время файлы настроек, а также app.config Закрыть VS Вручную зайдите и очистите папку bin и папку obj вашего проекта. Перезагрузите компьютер Повторно добавьте «Файл конфигурации приложения»

1 голос
/ 09 декабря 2011

В моей машине machine.config был какой-то мусор, который вызывал эту ошибку Найдите трассировку стека исключений и посмотрите, есть ли у вас такая же проблема. Это был по сути искаженный XML.

1 голос
/ 18 июня 2009

Возможно, проблема в том, что ваш конфигурационный файл не соответствует его схеме. Например, эта проблема может быть воссоздана путем дублирования раздела ConnectionStrings.

0 голосов
/ 22 августа 2017

Просто публикуя здесь, как я нашел свое решение проблемы, но не вижу его в списке здесь .... Я добавил тег appSettings в основной узел конфигурации, и когда я его запустил, я получил ту же ошибку, что и OP. Что исправило, так это то, что узел configSections предшествовал моему узлу appSettings. enter image description here

0 голосов
/ 25 мая 2016

Тег запуска помог мне на VS Pro 2013 версии 12.021005.1 с .Net 4.5.51650 для консольного приложения (т.е. файл app.config)

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