在C#中返回null的appsettings.config键

时间:2016-07-11 16:28:55

标签: c# configuration configuration-files configurationmanager

我在C#中的.net Framework4 Windows应用程序的appconfig文件中添加了一个名为MessageToLog的密钥,如下所示:

 string message2 = System.Configuration.ConfigurationManager.AppSettings["MessageToLog"];
 Console.Writeln(message2);

我如何尝试在C#中找到密钥:

class Foo { bar = 1; }

但是,我在输出中看到null值而不是Hello。我做错了什么?我应该在哪里寻找错误? 感谢

1 个答案:

答案 0 :(得分:0)

确保您的app.config名称正确(称为“app.config”),并且位于您的控制台应用项目中,而不是其他项目。

快速检查这一点的方法 - 弄乱你的app.config并尝试运行控制台应用程序。插入一些这样的字符:

<?xml version="1.0"?>xxx
                     ^^^

尝试运行控制台应用。它应该因配置错误而失败。如果没有,那么你正在编辑的app.config不是这个项目的一部分。

另外,您是否使用添加&gt;添加了它?新商品&gt;一般&gt;应用程序配置文件?

确保存在正确的元素。 (只是想知道你是否可以手动创建它。)文件应该看起来像这样:

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