我添加了一个文件app.config到一个C#单声道项目.
在我使用的项目内
@H_502_4@foreach (string key in ConfigurationManager.AppSettings) { string value = ConfigurationManager.AppSettings[key]; Console.WriteLine("Key: {0},Value: {1}",key,value); }配置文件看起来像这样
@H_502_4@<?xml version="1.0" encoding="utf-8" ?> <configuration> <appSettings> <add key="Key1" value="Kevin" /> <add key="Key2" value="150" /> <add key="Key3" value="Rice" /> </appSettings> </configuration>没有检测到键.如何读取配置值?
解决方法
这个答案很晚,但是对于任何人来说,是的,mono支持配置文件.您可以使用上面讨论的ConfigurationManager方法,甚至可以在app.config文件中创建自己的自定义设置部分,并通过派生自ApplicationSettingsBase的类进行操作.在我看来,这是一个更自然的处理app.config文件的方式,因为您使用类和强类型属性,而不是使用ConfigurationManager方式访问数组中的字符串.为应用程序设置创建一个类也很容易.以下是MSDN页面,介绍如何创建类:
http://msdn.microsoft.com/en-us/library/system.configuration.applicationsettingsbase.aspx
要注意Mono的唯一注意事项是,.NET Framework允许在app.config文件中定义UserScopedSettings(以提供默认值),但如果您这样做,Mono将抛出异常.解决方法是将UserScopedSettings从app.config文件中删除,并且只需在代码中定义属性的默认值即可.这不是一个完美的解决方法,因为它没有办法更改代码之外的默认值,但在大多数情况下这将是足够的.