我正在使用ConfigurationManager.AppSettings [myKey]从我的Windows应用程序中的app.config文件中读取一个值,但返回的值始终为null,即使该键存在并且它有一个值,Deas任何人都知道为什么呢?
由于
答案 0 :(得分:19)
一种可能更容易的选择是使用设置文件。这将App.config值的创建和维护封装在设计器GUI中,并生成用于访问值的代码。
要添加设置文件,请在VS中右键单击您的项目,然后点击“添加 - > New Item',选择'设置文件'并为其指定一个有意义的名称,例如MainSettings.settings
。然后,您可以添加一个项目,例如Foo
,指定它是应用程序还是用户范围,定义它的类型并为其赋值。在您的代码中,您可以通过简单编写MainSettings.Default.Foo
来恢复价值。
编译后,您可以通过编辑配置文件来更改值。设置如下: -
<applicationSettings>
<YourNamespace.MainSettings>
<setting name="Foo" serializeAs="String">
<value>Bar</value>
</setting>
</YourNamespace.MainSettings>
</applicationSettings>
答案 1 :(得分:9)
很难说你在这里提供的内容:
答案 2 :(得分:0)
我的解决方案中有两个项目我首先在类库项目中添加app.config文件,所有实例都是从控制台应用程序调用的,我在类lib项目的配置文件中添加了这些条目
<appSettings>
<add key="userName" value="user2" />
<add key="emilsLimit" value="50" />
</appSettings>
当我在类库项目中的类中获取这些异常时抛出null异常但是当我从类库项目中删除app.config并在Console项目中添加它时它工作。欢呼
注意:类lib项目引用已添加到控制台
中答案 3 :(得分:0)
我遇到了同样的问题,但是当我在末尾添加一个空字符串(+“”)时,它会在appsettings中拾取字符串
例如
string s = ConfigurationManager.AppSettings["myKey"] + "";