Я новичок в 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);
}
Но всякий раз, когда я пытаюсь ввести имя пользователя и пароль, возникает ошибка под названием « Конфигурация системы не удается инициализировать» . Мне просто интересно, что это за проблема и как я могу ее решить?
Пожалуйста помоги.
Ответы:
Убедитесь, что ваш файл конфигурации (web.config, если web, или app.config, если windows) в вашем проекте начинается как:
Обратите внимание, что внутри
configuration
элемента первый дочернийconfigSections
элемент должен быть элементом.В
name
свойствеsection
элемента обязательно замените егоYourProjectName
фактическим именем проекта.Мне случилось, что я создал веб-сервис в проекте библиотеки классов, затем скопировал (перезаписал) файл конфигурации (чтобы перенести конфигурацию конечных точек) в свое приложение Windows, и у меня возникла та же проблема. Я случайно удалил
configSections
.это сработало для меня, надеюсь, это поможет
источник
configSections
элемент существовал, но находился позже в app.config. Я не могу не спросить, почему произошла эта ошибка. Я думал, что элементы XML не нужно заказывать.Удалите старые файлы конфигурации из каталога c: \ Users \ username \ AppData \ Local \ appname и c: \ Users \ username \ AppData \ Roaming \ appname, а затем попробуйте перезапустить приложение.
источник
Иногда ошибка возникает, потому что окна создают дубликат в
Просто удалите эту папку и все готово. попытайся.
источник
Если вы добавили свои собственные разделы конфигурации в свой
App.Config
, убедитесь, что вы определили раздел в<configSections>
элементе. Я добавил свой конфигурационный XML, но забыл объявить раздел конфигурации вверху - что вызвало для меня исключение «Системе конфигурации не удалось инициализироваться».источник
У меня была такая же проблема с классом MSTest: Марлон Греч в своей статье говорит, что «этот элемент должен быть определен как первый элемент в App.config».
Поэтому убедитесь, что это первый элемент внутри элемента. Я поставил AppSettings первым.
источник
Я знаю, что на этот вопрос уже дан ответ, но у меня была точно такая же проблема в моих модульных тестах. Я рвал на себе волосы - добавлял раздел appSettings, а затем объявлял раздел конфигурации в соответствии с ответом. В конце концов выяснилось, что я уже объявил раздел appSettings дальше в моем файле конфигурации. Оба раздела указывали на мой внешний файл настроек "appSettings.config", но первый элемент appSettings использовал файл атрибутов, тогда как другой использовал атрибут configSource . Я знаю, что вопрос был о connectionStrings. Конечно, это происходит, если элемент appSettings является элементом connectionStrings, дублирующимся с другими атрибутами.
Надеюсь, это может дать кому-то еще решение, прежде чем они пойдут по тому пути, который я выбрал, что приводит к потере часа или двух. Вздох о жизни нас, разработчиков. Мы тратим больше времени на отладку, чем на разработку!
источник
appSettings
и то иapplicationSettings
другое.Я начал получать эту проблему после удаления Oracle Client Drivers, и он удалил мой C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ machine.config !
Копирование его с другого компьютера решило проблему.
источник
источник
Если у вас есть настройки области действия пользователя, у вас также может быть файл user.config где-нибудь в
[Userfolder]\AppData\Local\[ProjectName]
папке.Если впоследствии вы удалите параметры пользовательской области, user.config не будет автоматически удален, и его присутствие может вызвать то же сообщение об ошибке. Удаление папки помогло мне.
источник
Ничего себе, это заняло у меня целую вечность. По какой - то причине , изменяя атрибут
[assembly: AssemblyCompany("CompanyName")]
вAssemblyInfo.cs
сделал это ошибка исчезнет. Я ссылался на проект, который имел другое значение для атрибута[assembly: AssemblyCompany("CompanyName")]
. Я убедился, что оба проекта имеют одинаковое значение атрибута, и он работал отлично!источник
Та же проблема со мной Я решил свою проблему, удалив verion = "v3.5" из App.config.
Перед
Решение
Вот как использовать версию на
Элемент поддержки MSDN
источник
После долгого поиска я понял, что это исключение имеет внутреннее исключение, которое говорит вам точно, что не так с вашим конфигурационным файлом
источник
Простое решение для проектов .Net Core WinForms / WPF / .Net Standard Class Library
шаг 1: установка с
System.Configuration.ConfigurationManager
помощью Nuget Managerшаг 2: добавление нового
App.Config
файлаШаг 3: Получить значение
Если вы вызываете его из,
Class Library
добавьтеApp.Config
файл в ваш основной проект.источник
Стоит отметить, что если вы добавляете такие вещи, как строки подключения, в app.config, то, что если вы добавляете элементы вне определенных разделов конфигурации, они сразу не будут жаловаться, но при попытке доступа к ним вы можете получить вышеуказанные ошибки.
Сверните все основные разделы и убедитесь, что нет никаких элементов за пределами определенных. Очевидно, когда вы это заметили.
источник
В моем случае единственным решением было добавить ссылку на
System.Configuration
мой тестовый проект.источник
Это довольно глупо, но для меня я исправил это, выполнив последние действия из контроля исходного кода в моем коде. Я думаю, что был какой-то новый элемент конфигурации, который был добавлен кем-то другим, и мне нужно было перезаписать мои файлы конфигурации. ОП показывает ошибку, которую я получил, которая на самом деле не указывала мне правильное направление.
источник
Я тоже столкнулся с той же проблемой, но случайно я написал без записи, предыдущий должен идти внутри этих тегов. таким образом, возникла ошибка «Ошибка конфигурации системы». Надеюсь, это поможет
источник
В моем случае у меня есть две конфигурации в файле app.config. После удаления того, что скрывается в строках кода, приложение работает нормально.
Так что для кого-то есть та же проблема, проверьте, если у вас есть дубликаты конфигурации сначала.
источник
Если вы имеете дело с веб-заданием Azure - мне пришлось удалить следующее после обновления до последней версии 4.6.1.
Надеюсь это поможет.
источник
В моем случае в моем файле .edmx я выполнил команду «Обновить модель из базы данных». Эта команда добавила ненужную строку подключения в мой файл app.config. Я удалил эту строку подключения, и все снова было хорошо.
источник
Я решил проблему с помощью приведенного ниже кода
источник
Попробуйте сохранить файл .config как utf-8, если у вас есть «специальные» символы. Это было проблемой в моем случае консольного приложения.
источник
Так как упомянул @Flash Gordon в своем комментарии, вам нужно определить любой пользовательский тег (как раздел) вфайле App.config , в разделе
<configSections>
. Например, вы работаете над проектом автоматизации тестирования с SpecFlow и добавлением<specFlow>
тега, тогдасамаяпростая версия App.config будет выглядеть так:источник
Я просто имел это, и это было, потому что у меня был
<configuration>
элемент, вложенный в<configuration>
элемент.источник
Я перезапустил Visual Studio и даже весь компьютер. Я очистил проект, перестроил и удалил файл bin.
Ничего не помогало, пока я не изменил конфигурацию с x64 на x86. Он работал на x86, но когда я изменил его обратно, он также работал!
источник
Я испробовал все приведенные выше решения, пытаясь выяснить, почему одному из моих модульных тестов не удалось подобрать конфигурацию из файла app.config, который идеально подходит.
У меня было 2 ссылки на одну и ту же сборку примерно так:
Удаление (дубликат) ссылки в желтом исправило это для меня.
Я надеюсь, что это работает для кого-то еще, это на какое-то время сводило меня с ума.
источник
Если у вас есть пользовательский раздел, вы должны упомянуть, что под configSections прямо под тегом конфигурации.
Пожалуйста, проверьте ваши файлы преобразования, убедитесь, что вы удалите ненужные теги. Только раздел, который будет меняться, должен быть в файлах преобразования. не упоминайте раздел конфигурации в файлах преобразования, если они не нужны. это также вызвало бы проблему.
если у вас есть какая-либо синтаксическая ошибка в machine.config, то эта ошибка также ожидается.
источник