App.Config错误“配置系统初始化失败”

时间:2014-02-10 17:05:00

标签: c# .net-4.0 app-config

我有一个用C#在.net 4.0下编写的控制台应用程序它有一堆变量,我想进入App.Config(所以它将在一个地方)。将这部分代码添加到App.Config(配置标记之间):

<configuration>
  <appSettings>
    <add key="RemoteDirectory" value="Some Text Here"/>
  </appSettings>
</configuration>

在我的程序中尝试使用此代码进行测试

Console.WriteLine(ConfigurationManager.AppSettings["RemoteDirectory"]);

但我不断收到“配置系统无法初始化”错误。

9 个答案:

答案 0 :(得分:20)

尝试查看内部异常以获取更多详细信息。当我遇到同样的麻烦时,它帮助了我。

另外,检查您在项目中使用的.net Framework的格式是否正确。如果您使用的是框架4.5,它应该如下所示:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <startup>
    <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
  </startup>
  <appSettings>
    <add key="RemoteDirectory" value="Some Text Here" />
  </appSettings>
</configuration>

答案 1 :(得分:8)

在声明“configSections”标记之前声明“appSettings”标记或“configuration”根标记之后的任何其他标记时,会引发“配置系统初始化失败”的异常。

配置文件的模式要求“configSections”标记是根标记的第一个子标记。

<configuration>
  <configSections>
    <section name="xY" type=""/>
  </configSections>  
  <startup> 
    <supportedRuntime version="v4.0" sku=".NET Framework,Version=v4.5.2" />
  </startup>
  <xY></xY>
</configuration>

答案 2 :(得分:1)

确保configSections部分位于配置部分(第一个孩子)

之后

答案 3 :(得分:1)

我也遇到了这个错误。在我的状态中,我混合了<configSection><connectionStrings>优先顺序。 我改变了标签的顺序。首先我写<configSection>然后<connectionStrings>最后修复它。希望它会帮助别人。

答案 4 :(得分:0)

因为它是一个目录,我假设你在那里使用了不正确的符号..也许是/

答案 5 :(得分:0)

appSettings必须拼写正确。它应该是appSettings - S应该是资本。我把它全部小写并且得到了这个错误。

答案 6 :(得分:0)

发现了这个问题 阅读内部异常,希望您的代码在try {} catch(){}块中。 我的内部异常读取; 每个配置文件只允许一个“configSections”元素,如果存在,则必须是根“configuration”元素的第一个子元素。

它自我解释 希望这会对你有所帮助。

答案 7 :(得分:0)

美好的一天,

我在一个客户的某台PC上遇到过同样的问题。 我认为它不是同一类问题,因为在我的情况下,文件C:\ Users \“youruser”\ AppData \ Local \“ProgramEditorName”\“Program.exekeytoprogram”\“ProgramVersion”\ user.config文件在那个特定的电脑中被破坏了。为了以防万一,我复制了该文件进行备份并删除了该文件。

它对我有用,我希望它可以帮助别人。

度过愉快的一天,

Xabier的

答案 8 :(得分:0)

检查内部异常,似乎完全可以说明配置出了什么问题。