使用C#从App.Config读取设置

时间:2014-04-14 16:12:26

标签: c# windows visual-studio-2012 console-application app-config

这是我的应用配置文件:

<?xml version="1.0" encoding="utf-8"?>
<configuration>

<appSettings>
    <add key="Testit" value="7777"/>
</appSettings>

...

</configuration>

我在C#中使用控制台应用程序

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

我收到此错误:

  • ConfigurationErrorsException未处理我知道我可以把try catch放在那里但是没有必要

如果我在app.config周围移动appSettings标记,则会抱怨展示位置不正确,所以现在它正确放置。我不知道还有什么可以尝试从app.config中显示该值。

也许这可以帮助我的项目是使用C#的.NET Framework 4.0,它是一个带有App.Config的控制台应用程序&lt; - 这是我从中读取价值的地方。

这是内在的例外:

{&#34;每个配置文件只允许一个元素,如果存在,则必须是根元素的第一个子元素。 (C:\ ... \ Program.vshost.exe.Config第8行)&#34;}

我只有一个configSection !!!

更新

我是否需要将appSettings包含在另一个标签中????????

4 个答案:

答案 0 :(得分:1)

您需要使用ConfigurationManager类而不是ConfigurationSettings类

答案 1 :(得分:0)

我已经尝试过它并且工作正常。

Console.WriteLine(System.Configuration.ConfigurationSettings.AppSettings["Testit"].ToString());

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Testit" value="7777"/>
</appSettings>
</configuration>

答案 2 :(得分:0)

appSettings很可能在您的app.config

中第二次定义

答案 3 :(得分:0)

OH哇找到了解决方案,我想这一定是微软的逻辑:)

所以我在App.Config文件中切换appSettings的顺序为:

<appSetting>
...
</appSetting>
<configSection>
...
</configSection>

现在是

<configSection>
...
</configSection>
<appSetting>
...
</appSetting>

有效。