配置系统初始化失败

时间:2012-05-22 05:51:01

标签: c# app-config

我正在使用2.0 .Net框架在C#visual Studio 2010中编写一个小程序。我正在尝试从App.config文件中读取值。我的配置文件看起来像这样......

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
      <section name="MyApp.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
    </sectionGroup> 
  </configSections>
  <applicationSettings>
    <add key="Path" value ="C:\Program Files\MyApp\bin\" />
    <add key="UserName" value="UserName" />
    <add key="Pword" value="Password" />
  </applicationSettings>
</configuration>

然后在我的代码中:

path = ConfigurationManager.AppSettings["Path"];

我收到运行时错误“配置系统无法初始化”。 从我所看到的,configSection必须是文件中的第一个,但我已经完成了这个并仍然得到错误。

6 个答案:

答案 0 :(得分:8)

<configSections>放在<appSettings>之前,它应该可以正常工作

<configuration>
<configSections>
...
</configSections>
<appSettings>
...
</appSettings>
</configurations>

答案 1 :(得分:1)

我已经解决了,标签applicationSettings应该被称为appSettings。然后我可以删除sectionGroup标签,只留下这个。

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
  </configSections>
  <appSettings>
    <add key="Path" value="C:\Program Files\MyApp\bin\" />
    <add key="UserName" value="username" />
    <add key="Pword" value="password" />
  </appSettings>
</configuration>

答案 2 :(得分:0)

我可以离开这个,你应该逃避你的反斜杠。 即C:\Program Files\MyApp\bin\变为C:\\Program Files\\MyApp\\bin\\

答案 3 :(得分:0)

可能是配置文件已损坏且无法读取。请删除现有的.Config文件并使用相同的名称和设置创建新文件。

通过使用相同的练习,我已经多次解决同样的问题。

         <add key="Path" value ="C:\\Program Files\\MyApp\bin\\" />

如果您想在代码中使用多路径,请使用Combine Path

答案 4 :(得分:0)

请检查下图... 您需要将密钥添加到标记中。

enter image description here

答案 5 :(得分:0)

我知道这是一个非常晚的补充,但只是想如果它会帮助别人为什么不。 当谈到使用“applicationSettings”时,请注意你现在不能混合“applicationSettings”的“设置”和“appSettings”的“添加”,换句话说你不能拥有

<setting name="Name You choose" serializeAs="String">
        <value>True</value>
      </setting>

<add key="Name You choose" value="1000" />

在同一个App.config文件中。