我有一个新的(测试)控制台应用程序,我正在尝试访问设置。
当我尝试以这种方式访问它时,从我在SO和其他地方所读的内容中,这应该可以工作:
var test1 = System.Configuration.ConfigurationManager.AppSettings["MySetting"];
但不是,它返回null。
当我这样做时,它可以正常工作:
var test2 = Properties.Settings.Default.MySetting;
为什么第一个不起作用?我读过的所有内容都表明是第一种使用它的方法。
我使用不正确吗?
编辑
回应梅森。
我对您的评论感到困惑。 app.config
是在应用程序属性中进行设置的地方:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<section name="ConsoleApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
</sectionGroup>
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6" />
</startup>
<applicationSettings>
<ConsoleApp1.Properties.Settings>
<setting name="MySetting" serializeAs="String">
<value>testtesttest</value>
</setting>
</ConsoleApp1.Properties.Settings>
</applicationSettings>
</configuration>
答案 0 :(得分:2)
System.Configuration.ConfigurationManager.AppSettings用于从app.config或web.config文件(对于ASP.NET)读取设置。它不会从设置文件中读取。
答案 1 :(得分:0)
因为AppSettings是指阅读MyApp.config中的设置