为了尝试让ConfigurationManager.AppSettings [..]再次运行,我在单个项目中创建了一个 applicationSettings 元素和一个 appSettings 元素控制台应用。
<applicationSettings>
<el_testo.Properties.Settings>
<setting name="ApplicationSetting" serializeAs="String">
<value>Application Value</value>
</setting>
</el_testo.Properties.Settings>
</applicationSettings>
<appSettings>
<add key="AppSetting" value="App Value"/>
</appSettings>
这是我努力检索这两个值。
Debug.WriteLine("---> ApplicationSettings Test");
Debug.WriteLine(ConfigurationManager.AppSettings["ApplicationSetting"] + "");
var applicationSettingsTest = ConfigurationManager.AppSettings["ApplicationSetting"];
Debug.WriteLine(applicationSettingsTest);
Debug.WriteLine("---> AppSettings Test");
Debug.WriteLine(ConfigurationManager.AppSettings["AppSetting"]);
Debug.WriteLine("---> Complete");
这是我的结果。
---> ApplicationSettings Test
---> AppSettings Test
App Value
---> Complete
我可以“解决”并使用 appSettings 构造。但是,使用此项目和未来项目的项目属性上的“设置”选项卡会很不错。这就是我迄今为止尝试过的工作。
答案 0 :(得分:2)
您错误地尝试使用以下语句在appSettings下将ApplicationSetting元素作为键读取:
ConfigurationManager.AppSettings["ApplicationSetting"]
这意味着您正试图获得此值:
<appSettings>
<add key="ApplicationSetting" value="xxxx" />
</appSetting>
相反;当您使用项目属性添加应用程序设置时,它会创建一个扩展ApplicationSettingsBase类的设置类,使用您的设置名称创建属性,并在app.config文件中添加必要的configSection和默认配置元素。为什么不创建和使用那个允许您严格访问应用程序设置的类?
只需转到Project / e_testo属性/设置,然后使用范围应用程序
添加ApplicationSetting然后,您可以通过
访问ApplicationSettingvar applicationSettingsTest = Properties.Settings.Default.ApplicationSetting