我有一个用C#在.net 4.0下编写的控制台应用程序它有一堆变量,我想进入App.Config(所以它将在一个地方)。将这部分代码添加到App.Config(配置标记之间):
<configuration>
<appSettings>
<add key="RemoteDirectory" value="Some Text Here"/>
</appSettings>
</configuration>
在我的程序中尝试使用此代码进行测试
Console.WriteLine(ConfigurationManager.AppSettings["RemoteDirectory"]);
但我不断收到“配置系统无法初始化”错误。
答案 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)
检查内部异常,似乎完全可以说明配置出了什么问题。