Не удалось Инициализировать систему конфигурации

Я новичок в Visual Studio. В настоящее время я создаю форму входа.

У меня есть этот код.

string connectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString;
try
{
    using (OdbcConnection connect = new OdbcConnection(connectionString))
    {
        connect.Open();
        OdbcCommand cmd = new OdbcCommand("SELECT username, password FROM receptionist", connect);
        OdbcDataReader reader = cmd.ExecuteReader();

        if (username_login.Text == username && password_login.Text == password)
        {
            this.Hide();
            MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            this.Close();
        }
        else 
            MessageBox.Show("Invalid User", "Login Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
        connect.Close();
    }
}
catch (OdbcException ex)
{
    MessageBox.Show(ex.Message, "error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}

но всякий раз, когда я пытаюсь ввести имя пользователя и пароль, возникает ошибка Конфигурация системы не удалось инициализировать. Мне просто интересно, что это за проблема и как я могу ее решить?

пожалуйста, помогите.

19 ответов


убедитесь, что ваш конфигурационный файл (web.config если web, или app.config if windows) в вашем проекте начинается как:

<?xml version="1.0"?>
<configuration>
    <configSections>
        <sectionGroup name="applicationSettings" 
                      type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

            <section name="YourProjectName.Properties.Settings" 
                     type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" 
                     requirePermission="false" />

        </sectionGroup>
    </configSections>
</configuration>

обратите внимание, что внутри configuration элемент, первый ребенок должен быть configSections элемент.

на name собственности на section элемент, убедитесь, что вы замените YourProjectName С именем вашего фактического проекта.

случилось так, что я создал веб-сервис в проекте библиотеки классов, а затем скопировал (перезапись) конфигурационный файл (для приведения конфигурации конечных точек) в мое приложение windows, и у меня началась та же проблема. Я нечаянно удалил configSections.

это сработало для меня, надеюсь, это поможет


удалить старые файлы конфигурации от c:\Users\username\AppData\Local\appname и c:\Users\username\AppData\Roaming\appname а затем попробуйте перезапустить приложение.


иногда ошибка возникает из-за того, что windows создает дубликат в

C:\Users\App Data\Local\"Имя Приложения"...

просто удалите эту папку и готово. попробовать его.


Если вы добавили свои собственные профили настроек App.Config, убедитесь, что вы определили в разделе <configSections> элемент. Я добавил мой конфигурационный XML, но забыл объявить раздел конфигурации сверху - что вызвало исключение "система конфигурации не смогла инициализировать" для меня.


У меня была такая же проблема с классом MSTest:Марлон грех в своей статье говорит: "элемент должен быть определен как первый элемент в приложении.конфиг."

поэтому убедитесь, что первый элемент под элементом. Сначала я поставил AppSettings.


Я знаю, что на это уже ответили, но у меня была точно такая же проблема в моих модульных тестах. Я рвал волосы - добавляя раздел appSettings, а затем объявляя раздел конфигурации в соответствии с ответом. Наконец, выяснилось, что я уже объявил раздел appSettings дальше по моему конфигурационному файлу. Оба раздела указывали на мой внешний файл настроек " appSettings.config", но первый элемент appSettings с использованием атрибута пока другой использовал атрибут в разделе configsource. Я знаю, что вопрос был о связях. Конечно, это происходит, если элемент appSettings является элементом connectionStrings дублируется с различными атрибутами.

надеюсь, это может предоставить кому-то еще решение, прежде чем они пойдут по пути, который я сделал, что приводит к потере часа или двух. вздох о жизни нас, разработчиков. Мы тратим больше часов на отладку, чем на разработку!


Если у вас есть параметры области пользователя, у вас также может быть пользователь.конфигурационный файл где-то в папке [Userfolder]\AppData\Local[ProjectName].

Если вы позже удалите настройки области пользователя, Пользователь.config не будет автоматически удален, и его присутствие может вызвать то же сообщение об ошибке. Удаление папки сделало трюк для меня.


вау, мне потребовалась вечность, чтобы понять это. По какой-то причине меняется атрибут [assembly: AssemblyCompany("CompanyName")] at AssemblyInfo.cs эта ошибка исчезла. Я ссылался на проект, который имел другое значение для атрибута [assembly: AssemblyCompany("CompanyName")]. Я убедился, что оба проекта имеют одинаковое значение атрибута, и он отлично работал!


Я начал получать эту проблему после удаления драйверов клиента Oracle, и он удалил мой C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\machine.config!

скопировать его с другого компьютера, проблема решена.


<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="xyz" value="123" />    
  </appSettings>
</configuration>

же проблема со мной, я решил свою проблему путем удаления верион=" "В3".5" из приложения.конфиг.

до

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

  <startup>

 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
 </startup>
 <supportedRuntime version="v3.5" />//Remove this
</configuration>

решение

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

  <startup>

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
  </startup>
  </configuration>

вот как использовать версии

MSDN поддерживает элемент времени выполнения


стоит отметить, что если вы добавить такие вещи, как строки подключения в App.config, что если вы добавляете элементы вне определенных разделов конфигурации, что он не будет сразу жаловаться, но при попытке доступа к нему, что вы можете получить вышеуказанные ошибки.

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


в моем случае единственным решением было добавить ссылку на System.Configuration в моем тестовом проекте.


Это довольно глупо, но для меня я исправил это, сделав get latest из source control на моем коде. Я думаю, что был какой-то новый элемент конфигурации, который был добавлен кем-то другим, и мне нужно было перезаписать мои файлы конфигурации. OP показывает ошибку, которую я получил, которая на самом деле не указывала мне в правильном направлении.


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


в моем случае у меня есть два configsections в приложении.конфигурационный файл. После удаления одного, скрывающегося в строках кода, приложение работает нормально.

поэтому для кого-то есть та же проблема, проверьте, есть ли у вас дубликаты конфигураций.


Если вы имеете дело с Azure WebJob - мне пришлось удалить следующее после обновления до последней версии 4.6.1.

  <compilation debug="true" targetFramework="4.6.1">
    <assemblies>
      <add assembly="System.Runtime, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a"/>
    </assemblies>
  </compilation>

надеюсь, что это помогает.


в моем случае, в моем .edmx-файл я запустил команду "обновить модель из базы данных". Эта команда добавила ненужную строку подключения к моему приложению.конфигурационный файл. Я удалил эту строку подключения и все снова было хорошо.


Я решил проблему, используя приведенный ниже код

   <?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings"
                  type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >

      <section name="YourProjectName.Properties.Settings"
               type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
               requirePermission="false" />

    </sectionGroup>

  </configSections>
  <appSettings>
    <add key="SPUserName" value="TestUser" />
    <add key="SPPassword" value="UserPWD" />
  </appSettings>
</configuration>