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

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

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


当前回答

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

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

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

其他回答

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

确保您的配置文件(web。Config如果web,或app.config如果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元素。

在section元素的name属性中,确保将YourProjectName替换为实际项目的名称。

它发生在我身上,我在一个类库项目中创建了一个webservice,然后我复制(覆盖)配置文件(为了带来端点配置)到我的windows应用程序,我开始有同样的问题。我无意中删除了configSections。

如果你有一个自定义的section,你需要在configSections下面的configurations标签下面提到它。

请检查您的转换文件,确保您删除了不必要的标签。只有将要变化的部分需要在转换文件中。如果不需要,不要在转换文件中提到配置部分。这也会引起问题。

如果您在机器中有任何语法错误。配置时,也会出现此错误。

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

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

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