当我尝试使用检索 .config 文件中的部分列表时
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.Sections 集合包含一堆系统部分,但我在 configSections 标记中定义的文件中没有一个部分。
当我尝试使用检索 .config 文件中的部分列表时
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.Sections 集合包含一堆系统部分,但我在 configSections 标记中定义的文件中没有一个部分。
这是一篇博客文章,应该可以为您提供所需的内容。但是为了确保答案仍然可用,我也将把代码放在这里。简而言之,请确保您引用了System.Configuration
程序集,然后利用ConfigurationManager
该类来获取您想要的非常具体的部分。
using System;
using System.Configuration;
public class BlogSettings : ConfigurationSection
{
private static BlogSettings settings
= ConfigurationManager.GetSection("BlogSettings") as BlogSettings;
public static BlogSettings Settings
{
get
{
return settings;
}
}
[ConfigurationProperty("frontPagePostCount"
, DefaultValue = 20
, IsRequired = false)]
[IntegerValidator(MinValue = 1
, MaxValue = 100)]
public int FrontPagePostCount
{
get { return (int)this["frontPagePostCount"]; }
set { this["frontPagePostCount"] = value; }
}
[ConfigurationProperty("title"
, IsRequired=true)]
[StringValidator(InvalidCharacters = " ~!@#$%^&*()[]{}/;’\"|\\"
, MinLength=1
, MaxLength=256)]
public string Title
{
get { return (string)this["title"]; }
set { this["title"] = value; }
}
}
确保您阅读了博客文章 - 它会为您提供背景知识,以便您可以将其融入您的解决方案。