.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.
![введите описание изображения здесь]()