Системе конфигурации не удалось инициализировать ошибку при загрузке пользовательского раздела из app.config
Я определил раздел конфигурации в моем app.config следующим образом:
Чтобы прочитать эту информацию, я создал три класса таким образом: класс RegisterCompaniesConfig
public class RegisterCompaniesConfig : ConfigurationSection
{
public static RegisterCompaniesConfig GetConfig()
{
string path = Path.Combine(Application.StartupPath, "ConfigTest.exe.config");
Configuration config = System.Configuration.ConfigurationManager.OpenExeConfiguration(path);
RegisterCompaniesConfig serviceSection = ConfigurationManager.GetSection("RegisterCompanies") as RegisterCompaniesConfig;
return serviceSection;
//return (RegisterCompaniesConfig)System.Configuration.ConfigurationManager.GetSection("RegisterCompanies");
}
[System.Configuration.ConfigurationProperty("Companies")]
public Companies Companies
{
get
{
object o = this["Companies"]; return o as Companies;
}
}
}
затем класс компаний:
public class Companies : ConfigurationElementCollection
{
[System.Configuration.ConfigurationProperty("Company")]
public Company this[int index]
{
get
{
return base.BaseGet(index) as Company;
}
set
{
if (base.BaseGet(index) != null)
{ base.BaseRemoveAt(index); } this.BaseAdd(index, value);
}
}
protected override ConfigurationElement CreateNewElement()
{
return new Company();
}
protected override object GetElementKey(ConfigurationElement element)
{
return ((Company)element).Name;
}
}
и последний класс компании:
public class Company : ConfigurationElement
{
[ConfigurationProperty("name", IsRequired = true)]
public string Name
{
get
{
return this["name"] as string;
}
}
[ConfigurationProperty("code", IsRequired = true)]
public string Code
{
get
{
return this["code"] as string;
}
}
}
после этого, когда я хочу получить доступ к разделу, вызвав следующий метод
var config = RegisterCompaniesConfig.GetConfig();
я получаю ошибку:Систему конфигурации не удалось инициализировать Пожалуйста, посмотрите этот код выше, где проблема, это 'смотришь все хорошо для меня ....