Я следовал (почти) дословно примеру из MSDN для создания пользовательских тегов в моем App.config (см. документацию здесь: https://msdn.microsoft.com/en-us/library/2tw134k3.aspx), но я получаю эту ошибку:
Произошло необработанное исключение типа «System.Configuration.ConfigurationErrorsException» в System.configuration.dll.
Дополнительная информация. Произошла ошибка при создании обработчика раздела конфигурации для MyServiceGroup/ServiceUpdater: не удалось загрузить тип «MyNamespace.ServiceUpdaterSection» из сборки «System.configuration, версия = 4.0.0.0, культура = нейтральная, PublicKeyToken = b03f5f7f33d50a4a».
и ошибка возникает в этой строке (внутри Main из моего консольного приложения, когда я пытаюсь использовать пользовательскую информацию из App.config):
MyNamespace.ServiceUpdaterSection serviceUpdaterSection =
(ServiceUpdaterSection)ConfigurationManager.GetSection("MyServiceGroup/ServiceUpdater");
и из сообщения об ошибке я уже вижу, что это связано с тем, что он пытается найти MyNamespace.ServiceUpdaterSection внутри System.Configuration, напротив, он должен найти этот класс (ServiceUpdaterSection) внутри MyNamespace, поскольку я дал ему полное имя.
Вот как выглядит мой App.config:
<configSections>
<sectionGroup name="MyServiceGroup">
<section name="ServiceUpdater" type="MyNamespace.ServiceUpdaterSection"/>
</sectionGroup>
</configSections>
и ниже внутри App.config у меня есть:
<MyServiceGroup>
<ServiceUpdater>
<licenseKey id="blablabla"/>
</ServiceUpdater>
As for the ServiceUpdaterSection class, it looks as follows:
namespace MyNamespace
{
public class LicenseKeyElement : ConfigurationElement
{
[ConfigurationProperty("id")]
public string Id
{
get
{
return (string)this["id"];
}
set
{
this["id"] = value;
}
}
}
public class ServiceUpdaterSection : ConfigurationSection
{
[ConfigurationProperty("licenseKey")]
public LicenseKeyElement LicenseKey
{
get
{
return (LicenseKeyElement)this["licenseKey"];
}
set
{
this["licenseKey"] = value;
}
}
}
}
Что вы думаете по этому поводу, пожалуйста?
Спасибо.