您正在定义一个新的部分是不正常的配置文件的一部分:
<mySettings>
<add name="myname" myvalue="value1"/>
</mySettings>
要纳入自己的部分,你需要写的东西读你的特定部分。然后,添加一个引用到要对付这样的部分的处理程序:
<configuration>
<configSections>
<section name="mySettings" type="MyAssembly.MySettingsConfigurationHander, MyAssembly"/>
</configSections>
<!-- Same as before -->
</configuration>
一个例子的代码示例是:
public class MySettingsSection
{
public IEnumerable<MySetting> MySettings { get;set; }
}
public class MySetting
{
public string Name { get;set; }
public string MyValue { get;set; }
}
public class MySettingsConfigurationHander : IConfigurationSectionHandler
{
public object Create(XmlNode startNode)
{
var mySettingsSection = new MySettingsSection();
mySettingsSection.MySettings = (from node in startNode.Descendents()
select new MySetting
{
Name = node.Attribute("name"),
MyValue = node.Attribute("myValue")
}).ToList();
return mySettingsSection;
}
}
public class Program
{
public static void Main()
{
var section = ConfigurationManager.GetSection("mySettings") as MySettingsSection;
Console.WriteLine("Here are the settings for 'MySettings' :");
foreach(var setting in section.MySettings)
{
Console.WriteLine("Name: {0}, MyValue: {1}", setting.Name, setting.MyValue);
}
}
}
还有其他的方法来读取配置文件,但这是徒手输入的简单列表。
请注意,这些'错误'只是信息性消息。 Visual Studio只是让你知道,如果这些值应该是元素,属性,应该存储的类型,那么它就无法解决问题。忽略这些是安全的,但所提供的答案为如何实现读取这些自定义值提供了指导。 – 2012-03-28 17:46:20