configuration系统无法初始化
我是新来的Visual Studio。 我目前正在创build一个login表单。
我有这个代码。
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); }
但是每当我尝试input用户名和密码时,都会出现一个错误,称为configuration系统无法初始化 。 我只是想知道这是什么样的问题,我怎么能解决这个问题?
请帮忙。
确保项目中的configuration文件(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
replace为实际项目的名称。
我碰巧在一个类库项目中创build了一个web服务,然后我复制(覆盖)configuration文件(为了使端点configuration)到我的Windows应用程序,我开始有同样的问题。 我不小心删除了configSections
。
它为我工作,希望它有帮助
从c:\ Users \ username \ AppData \ Local \ appname和c:\ Users \ username \ AppData \ Roaming \ appname中删除旧configuration文件,然后尝试重新启动应用程序。
有时会出现错误,因为一个窗口中创build一个重复
C:\用户\应用程序数据\本地\“你的应用程序名称”…
只要删除这个文件夹并完成。 尝试一下。
如果您已将自己的自定义configuration部分添加到您的App.Config
,请确保已经在<configSections>
元素中定义了该部分。 我添加了我的configurationXML,但忘了声明configuration部分顶部 – 这导致了“configuration系统无法初始化”的exception对我来说。
我有一个MSTest类的同样的问题: Marlon Grech在他的文章中说:“元素必须被定义为App.config中的第一个元素。
所以确保这是元素下的第一个元素。 我先把AppSettings。
如果您具有用户范围设置,则可能在[用户文件夹] \ AppData \ Local [ProjectName]文件夹中的某处有一个user.config文件。
如果以后删除用户作用域设置,user.config不会自动删除,它的存在可能会导致相同的错误消息。 删除文件夹为我做了诡计。
哇,我永远花了这一个。 出于某种原因,在[assembly: AssemblyCompany("CompanyName")]
更改属性[assembly: AssemblyCompany("CompanyName")]
使此错误消失。 我正在引用一个项目,对于属性[assembly: AssemblyCompany("CompanyName")]
具有不同的值。 我确定两个项目都有相同的属性值,它工作的很好!
卸载Oracle客户端驱动程序后,我开始出现这个问题,它删除了我的C:\ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ machine.config !
从另一台计算机复制解决了这个问题。
我知道这已经被回答了,但是在我的unit testing中我也遇到了同样的问题。 我正在撕掉我的头发 – 添加一个appSettings部分,然后根据答案声明configuration部分。 最后发现我已经在我的configuration文件中声明了一个appSettings部分。 两个部分都指向我的外部设置文件“appSettings.config”,但是第一个使用属性文件的 appSettings元素,而另一个使用了属性configSource 。 我知道这个问题是关于connectionStrings的。 果然,如果appSettings元素是connectionStrings元素被重复使用不同的属性,就会发生这种情况。
希望这可以在别人走下我走过的道路之前给别人提供解决办法,这会浪费一两个小时的时间。 叹息我们开发者的生活。 我们花费更多的时间来debugging比开发更多的时间!
<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="xyz" value="123" /> </appSettings> </configuration>
值得注意的是,如果你在app.config文件中添加了连接string,那么如果你在定义好的configuration文件之外添加了一些项目,那么它不会立即发出抱怨,但是当你尝试访问它的时候,上面的错误。
折叠所有主要部分,确保定义的部分之外没有任何项目。 显然,当你真的发现它。
在我的情况下,唯一的解决scheme是在我的testing项目中添加对System.Configuration
的引用。
这有点愚蠢,但对我来说,我通过从我的代码的源代码控制得到最新版本来修复它。 我想有一些新的configuration元素是由别人添加的,我需要覆盖我的configuration文件。 OP显示了我得到的错误,这并没有真正指出我正确的方向。
我也面临同样的问题,但不小心,我写了没有写的,前一个应该去这个标签里面。 从而导致“configuration系统无法初始化”错误。 希望它会有所帮助
与我同样的问题,我通过从App.config中删除verion =“v3.5”来解决我的问题。
之前
<?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>
解
<?xml version="1.0" encoding="utf-8"?> <configuration> <startup> <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5.2"/> </startup> </configuration>
这里是如何使用版本
MSDN支持运行时元素
在我的情况下,我有两个configuration文件在app.config文件中。 删除隐藏在代码行中的应用程序后,该应用程序工作正常。
所以对于有同样的问题,请检查您是否有重复configsections首先。