Sie einen neuen Abschnitt zu definieren, die nicht Teil der normalen Konfigurationsdatei ist:
<mySettings>
<add name="myname" myvalue="value1"/>
</mySettings>
Ihren eigenen Bereich zu integrieren, müssen Sie etwas schreiben Ihren spezifischen Abschnitt zu lesen. Anschließend fügen Sie einen Verweis auf die Handler, den Sie wie folgt mit dem Abschnitt beschäftigen möchten:
<configuration>
<configSections>
<section name="mySettings" type="MyAssembly.MySettingsConfigurationHander, MyAssembly"/>
</configSections>
<!-- Same as before -->
</configuration>
Ein Beispiel Codebeispiel wäre:
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);
}
}
}
Es gibt auch andere Möglichkeiten, um die Konfigurationsdatei zu lesen, aber Das war der Einfachste, um freihändig zu schreiben.
Beachten Sie, dass diese "Fehler" nur informative Nachrichten sind. Visual Studio lässt Sie nur wissen, dass es nicht funktionieren kann, wenn diese Werte Elemente, Attribute, welchen Typ sie speichern sollen. Es ist sicher, diese zu ignorieren, aber die gegebenen Antworten geben Hinweise, wie das Lesen dieser benutzerdefinierten Werte implementiert werden kann. –