我目前正在创建一个登录表单,并有以下代码:

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);
}

但每当我尝试输入用户名和密码时,就会出现一个名为“配置系统初始化失败”的错误。这是什么问题,我怎么解决它?


当前回答

这有点傻,但对我来说,我通过在我的代码上做一个从源代码控制获取最新信息来解决它。我认为是其他人添加了一些新的配置元素,我需要重写我的配置文件。OP显示了我得到的错误,它并没有真正地将我指向正确的方向。

其他回答

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

我尝试了上面所有的解决方案,试图弄清楚为什么我的一个单元测试无法从一个完美的app.config文件中获取配置。

我有2个对相同程序集的引用,如下所示:

删除(重复)参考在黄色固定它为我。

我希望这对其他人也有用,有段时间我都快疯了。

删除c:\Users\username\AppData\Local\appname和c:\ users \username\ appdata \ roam \appname目录下的旧配置文件,然后尝试重新启动应用程序。

.Net核心WinForms / WPF / .Net标准类库项目的简单解决方案

步骤1:通过Nuget Manager安装System.Configuration.ConfigurationManager

步骤2:添加一个新的App.Config文件

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

step3:获取值

string value = ConfigurationManager.AppSettings.Get("Bodrum");
// value is Yalikavak

如果你从类库中调用它,那么在主项目中添加App.Config文件。

我也面临着同样的问题,但我不小心写了 如果不写the,前一个应该放在这个标记中。因此出现了“配置系统初始化失败”错误。 希望对大家有所帮助