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

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

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


当前回答

我还得到了

'System.Configuration.ConfigurationErrorsException' in System.Configuration.dll

如果你有窗口检查斜杠/我正在与一个在linux工作的人一起工作的项目,所以他颠倒了它们。

其他回答

对象中创建了副本,有时会出现错误

c:\用户\应用数据\本地\"你的应用名称"…

删除这个文件夹就可以了。试一试。

正如@Flash Gordon在他的评论中提到的,你需要在App.config文件中定义任何自定义标记(作为一个节),在<configSections>下。例如,你在一个测试自动化项目中使用SpecFlow并添加< SpecFlow >标签,那么App.config的最简单版本将如下所示:

在我的例子中,我在app.config文件中有两个configsections。删除隐藏在代码行后,应用程序工作正常。

所以如果有人有同样的问题,先检查你是否有重复的配置部分。

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

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

我在卸载Oracle客户端驱动程序后开始遇到这个问题,它删除了我的C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\machine.config!

从另一台计算机复制它就解决了这个问题。