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

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

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


当前回答

在我的案例中,唯一的解决方案是将引用添加到系统中。在我的测试项目中的配置也是如此。

其他回答

如果您在其中有一些“特殊”字符,请尝试将.config文件保存为utf-8。这就是我的控制台应用程序的问题所在。

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

在我的例子中,在我的.edmx文件中,我运行了“从数据库更新模型”命令。这个命令给我的app.config文件添加了一个不必要的连接字符串。我删除了连接字符串,一切又好了。

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

值得注意的是,如果你在app.config中添加连接字符串之类的东西,如果你在已定义的配置部分之外添加项目,它不会立即报错,但当你尝试访问它时,你可能会得到上述错误。

折叠所有主要部分,并确保在已定义的部分之外没有项目。很明显,当你真正发现它的时候。