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); } |
但每当我尝试输入用户名和密码时,都会出现一个名为配置系统初始化失败的错误。我只是想知道这是什么问题,我该如何解决?
请帮忙。
确保项目中的配置文件(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> |
注意,在
在
我碰巧在一个类库项目中创建了一个WebService,然后我将配置文件复制(重写)到了我的Windows应用程序中(为了实现端点配置),我开始遇到同样的问题。我无意中把埃多克斯1〔1〕移走了。
它对我很有用,希望能有所帮助
从C:usersusernameappdatalocalappname和C:usersusernameappdata
oamingappname中删除旧的配置文件,然后尝试重新启动应用程序。
有时发生错误是因为Windows在
C:\Users\App Data\Local\"You App Name"...
只需删除此文件夹并完成。试试看。
如果您已经将自己的自定义配置节添加到了
我在一个mstest类中遇到了同样的问题:Marlon Grech在他的文章中说,"必须将元素定义为app.config中的第一个元素。"
所以确保这是元素下的第一个元素。我把应用程序设置放在第一位。
我知道这个问题已经得到了解答,但在我的单元测试中有完全相同的问题。我在撕下我的头发-添加一个AppSettings部分,然后根据答案声明配置部分。最后发现我已经在配置文件的后面声明了一个appsettings部分。两个部分都指向我的外部设置文件"appsettings.config",但第一个appsettings元素使用属性文件,而另一个部分使用属性configsource。我知道问题是关于连接字符串的。当然,如果appsettings元素是使用不同属性复制的connectionStrings元素,就会发生这种情况。
希望这能在其他人走上我的道路之前为他们提供解决方案,这会浪费一两个小时。叹息哦,美国开发商的生活。我们花在调试上的时间比花在开发上的时间还要多!
如果您有用户范围的设置,您也可以在[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!
从另一台计算机复制解决了这个问题。
哇,我花了很长时间才弄明白这个。由于某种原因,更改
同样的问题,我通过从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文件中的
这有点蠢,但对我来说,我通过对代码进行源代码管理获取最新信息来修复它。我认为有一些新的配置元素是由其他人添加的,我需要覆盖我的配置文件。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。对于控制台应用程序来说,这就是问题所在。
在我的例子中,唯一的解决方案是在我的测试项目中添加对