ConfigurationManager.AppSettings返回null

我正在使用ConfigurationManager.AppSettings [myKey]从我的Windows应用程序中的app.config文件中读取一个值,但返回的值始终为null,即使该键存在且它有值,Deas任何人都知道为什么?

谢谢

一种可能更简单的替代方法是使用设置文件。 这将App.config值的创建和维护封装在设计器GUI中,并生成用于访问值的代码。

要添加设置文件,请右键单击VS中的项目,然后单击“添加 – >新项”,选择“设置文件”并为其指定一个有意义的名称,例如MainSettings.settings 。 然后,您可以添加一个项目,例如Foo ,指定它是应用程序还是用户范围,定义它的类型并为其赋值。 在您的代码中,您可以通过简单编写MainSettings.Default.Foo来检索该值。

编译后,您可以通过编辑配置文件来更改值。 设置如下: –

    Bar    

很难说你在这里提供的内容:

  1. 检查myKey中值的拼写
  2. 确保您正在查看正确的app.config – 如果此调用位于引用的库中,并且您希望来自调用项目的app.config的值,但是您的库有某个app.config由于某种原因它可能是导致你的问题。

我遇到了同样的问题,但当我在末尾添加一个空字符串(+“”)时,它会在appsettings中拾取字符串

例如

 string s = ConfigurationManager.AppSettings["myKey"] + ""; 

我在我的解决方案中有两个项目我首先在类库项目中添加app.config文件,所有实例都是从控制台应用程序调用的,我在类lib项目的配置文件中添加了这些条目

     

当我在类库项目中的类中获取这些时,它会抛出nullexception,但是当我从类库项目中删除app.config并在Console项目中添加它时它会工作。

注意:在控制台中添加了类lib项目引用