我将文件app.config添加到C#mono项目中。
在我使用的项目中
foreach (string key in ConfigurationManager.AppSettings)
{
string value = ConfigurationManager.AppSettings[key];
Console.WriteLine("Key: {0}, Value: {1}", key, value);
}
配置文件看起来像这样
<?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>
未检测到任何键。如何读取配置值?
答案 0 :(得分:6)
这个答案来得非常晚,但对于遇到此问题的任何人来说,是的,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文件之外,只需在代码中定义属性的默认值即可。这不是一个完美的解决方法,因为它没有提供一种方法来改变代码之外的默认值,但这在大多数情况下就足够了。