在 C# 中到达 appsettings.config 键返回 null

Reaching appsettings.config keys in C# returning null

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

<?xml version="1.0"?>
...
...
<appSettings>
...
...
<add key="MessageToLog" value="hello"/>
...
...
</appSettings>

我如何尝试在 C# 中找到他们的关键是:

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

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

确保您的 app.config 已正确命名(称为 "app.config")并且在您的控制台应用程序项目中,而不是其他项目中。

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

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

尝试 运行 控制台应用程序。它应该因配置错误而失败。如果不是,则您正在编辑的 app.config 不是该项目的一部分。

此外,您是否使用“添加”>“新项目”>“常规”>“应用程序配置文件”添加它?

这可确保存在正确的元素。 (只是想知道您是否手动创建了它。)该文件至少应如下所示:

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