码农家园

关闭
导航

关于c#:配置系统无法初始化


c#loginmysqlvisual-studiovisual-studio-2010

Configuration System Failed to Initialize

我刚接触到Visual Studio。我正在创建登录表单。

我有这个密码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
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);
}

但每当我尝试输入用户名和密码时,都会出现一个名为配置系统初始化失败的错误。我只是想知道这是什么问题,我该如何解决?

请帮忙。

相关讨论

  • 请参阅配置系统未能初始化异常
  • 只是另一个场景-如果您要查找configurationmanager.appsettings["],请确保在配置中存在。否则你会得到这个例外
  • 如果您有两个应用程序设置位置,也可能发生这种情况。


确保项目中的配置文件(web.config if web或app.config if windows)启动方式为:

1
2
3
4
5
6
7
8
9
10
11
12
13
<?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应用程序中(为了实现端点配置),我开始遇到同样的问题。我无意中把埃多克斯1〔1〕移走了。

它对我很有用,希望能有所帮助

相关讨论

  • "在‘配置’元素中,第一个子元素必须是‘配置’元素"<<这是我的关键点。谢谢。
  • 只是另一个场景-如果您要查找configurationmanager.appsettings["],请确保在配置中存在。否则你会得到这个例外
  • 它修复了我的问题,其中configSections元素存在,但位于app.config的后面部分。我忍不住问为什么会发生这个错误。我认为XML元素不需要排序。
  • @我猜微软的Tae Sungshin实现不好……
  • 现在是2014年,它仍然很有帮助!我在向应用程序添加一个WebService,并用这个配置文件弄乱了一些东西。应用程序仍然编译得很好,只有在运行时才会出现此错误。我永远也猜不出是什么问题。
  • 在执行所有这些操作之前,请确保配置文件没有非法的chracter或xdtransfoms属性/
  • 这是正确的。配置节应该是configuration元素下的第一个子节点。
  • Microsoft实现此app.config的方式被延迟了!!!!他们至少可以抛出一条更好的错误消息!
  • @代号零,你把我说的话都说出来了


从C:usersusernameappdatalocalappname和C:usersusernameappdata
oamingappname中删除旧的配置文件,然后尝试重新启动应用程序。

相关讨论

  • 这真的对我有用,谢谢你给我小费!
  • 谢谢,工作。但我还是不明白什么是问题?
  • 本地文件夹下的user.config文件为空。删除本地文件夹后,应用程序开始工作
  • 谢谢,它起作用了。但这一错误的原因是什么呢?
  • 我认为当您安装/卸载/重新安装/调试应用程序时,可能会发生这种情况。至少我觉得发生了这样的事。
  • 我的文件中填充了低值(0x00)。我复制了一个有效的,然后就没事了
  • 修改用户设置时,这也会受到影响,因为这是其"存储"的默认位置。
  • 在停电事件期间,此位置的配置文件已损坏-通常是XML的配置文件中填充了nul字节。
  • 我在一个多项目的vb.net解决方案中更改了一个项目中的名称空间,这似乎是把事情搞砸了。这解决了问题。谢谢。
  • 硬盘已满,可能无法更新正确的配置文件。然后它在这个答案的文件夹中创建了新的配置文件。删除它们解决了问题。
  • 在我的情况下,蛮力确实起了作用。


有时发生错误是因为Windows在

C:\Users\App Data\Local\"You App Name"...

只需删除此文件夹并完成。试试看。

相关讨论

  • 谢谢您。我无法解决设置文件字符串未被应用程序"接收"的问题。我清除了配置文件,重新生成了.suo文件,删除了所有现有的.settings文件,仍然无法从任何新的设置文件加载,但在生成时没有收到任何错误。这场噩梦终于结束了。
  • 作品!!!!!!!!!!!!!


如果您已经将自己的自定义配置节添加到了App.Config中,请确保您已经在元素中定义了该节。我添加了我的配置XML,但忘记在顶部声明配置部分,这导致了一个异常"配置系统未能初始化"。

相关讨论

  • 另外-如果您有一个声明为最上面的部分,并且下面部分中的名称有拼写错误,您将得到这个错误。如果您查看抛出异常的innerException,它将告诉您哪个部分是问题所在。


我在一个mstest类中遇到了同样的问题:Marlon Grech在他的文章中说,"必须将元素定义为app.config中的第一个元素。"

所以确保这是元素下的第一个元素。我把应用程序设置放在第一位。

相关讨论

  • 哦。。我的错:你确实有,但我没有注意到;-)谢谢你的澄清。


我知道这个问题已经得到了解答,但在我的单元测试中有完全相同的问题。我在撕下我的头发-添加一个AppSettings部分,然后根据答案声明配置部分。最后发现我已经在配置文件的后面声明了一个appsettings部分。两个部分都指向我的外部设置文件"appsettings.config",但第一个appsettings元素使用属性文件,而另一个部分使用属性configsource。我知道问题是关于连接字符串的。当然,如果appsettings元素是使用不同属性复制的connectionStrings元素,就会发生这种情况。

希望这能在其他人走上我的道路之前为他们提供解决方案,这会浪费一两个小时。叹息哦,美国开发商的生活。我们花在调试上的时间比花在开发上的时间还要多!

相关讨论

  • 答对了。让appSettings和applicationSettings同时出现。


如果您有用户范围的设置,您也可以在[user folder]appdatalocal[projectname]文件夹中的某个位置有user.config文件。

如果以后删除用户范围的设置,则不会自动删除user.config,并且它的存在可能会导致相同的错误消息。删除文件夹对我有好处。


1
2
3
4
5
6
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
 
       
  </appSettings>
</configuration>
相关讨论

  • 你能解释一下你的观点吗?


卸载Oracle客户端驱动程序后,我开始遇到这个问题,它删除了我的C:windowsmicrosoft.netframeworkv2.0.50727machine.config!

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


哇,我花了很长时间才弄明白这个。由于某种原因,更改AssemblyInfo.cs的属性[assembly: AssemblyCompany("CompanyName")]使此错误消失。我引用的项目的属性[assembly: AssemblyCompany("CompanyName")]具有不同的值。我确保两个项目都有相同的属性值,而且效果很好!

相关讨论

  • 这是虫子吗?人们很难期望你的公司名称与你碰巧提到的第三方项目相匹配。


同样的问题,我通过从app.config中删除verion="v3.5"解决了我的问题。

以前

1
2
3
4
5
6
7
8
9
 <?xml version="1.0" encoding="utf-8"?>
  <configuration>

  <startup>

 <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
 </startup>
 <supportedRuntime version="v3.5" />//Remove this
</configuration>

解决方案

1
2
3
4
5
6
7
8
<?xml version="1.0" encoding="utf-8"?>
<configuration>

  <startup>

    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/>
  </startup>
  </configuration>

以下是如何在

msdn支持运行时元素


值得注意的是,如果您在app.config中添加连接字符串等内容,那么如果您在定义的config节之外添加项目,它不会立即发出投诉,但是当您尝试访问它时,您可能会收到上述错误。

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


正如@flash gordon在他的评论中提到的,您需要在app.config文件中的下定义任何自定义标记(作为一个部分)。例如,您正在使用specFlow&adding 标记处理测试自动化项目,那么app.config的最简单版本如下:enter image description here


这有点蠢,但对我来说,我通过对代码进行源代码管理获取最新信息来修复它。我认为有一些新的配置元素是由其他人添加的,我需要覆盖我的配置文件。OP显示了我所得到的错误,这并不是真正指向正确的方向。


我也面临同样的问题,但不小心我写了在不写的情况下,前一个应该放在这个标签中。因此出现了"配置系统初始化失败"错误。希望有帮助


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

因此,对于有相同问题的人,首先检查您是否有重复的配置部分。


如果您正在处理一个Azure WebJob,我必须在升级到最新的4.6.1之后删除以下内容。

1
2
3
4
5
  <compilation debug="true" targetFramework="4.6.1">
   
     
    </assemblies>
  </compilation>

希望这有帮助。


在我的例子中,在我的.edmx文件中,我运行了"从数据库更新模型"命令。此命令向app.config文件添加了不必要的连接字符串。我删除了那个连接字符串,一切都很好。


我用下面的代码解决了这个问题

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
   <?xml version="1.0" encoding="utf-8" ?>
<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>
 
   
   
  </appSettings>
</configuration>


如果有一些"特殊"字符,请尝试将.config文件保存为utf-8。对于控制台应用程序来说,这就是问题所在。


在我的例子中,唯一的解决方案是在我的测试项目中添加对System.Configuration的引用。


  • 关于c#:如何从asmx Web Service管理多个ado.net数据库连接
  • MySQL ERROR 1045(28000):用户账单@localhost拒绝访问(使用密码:YES)

Copyright ©  码农家园 联系:[email protected]