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

В моем приложении winform я пытаюсь добавить userSetting, хотя ошибка также связана с 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: 

Ответ 1

Попробуйте проверить, существует ли файл 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>

Ответ 2

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

Ответ 3

Я получаю эту ошибку, когда я пишу свой 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>

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

Ответ 4

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

Ответ 5

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

Ответ 6

У меня была эта проблема сегодня, и я обнаружил, что случайно (не говоря уже об ошибке) добавил второй раздел настраиваемой конфигурации в свой 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 разрешило мою проблему. Надеюсь, это поможет!

Ответ 7

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

Ответ 8

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

Ответ 9

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

Ответ 10

Тег автозагрузки помогло на 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>

Ответ 11

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