Я создал способ динамического добавления SettingsProperty
в файл .NET app.config
. Все это прекрасно работает, но когда я запускаю свое приложение в следующий раз, я вижу только свойства, созданные в конструкторе. Как я могу загрузить обратно свойства времени выполнения?
Мой код для создания SettingsProperty
выглядит следующим образом:
internal void CreateProperty<T>(string propertyName)
{
string providerName = "LocalFileSettingsProvider";
System.Configuration.SettingsAttributeDictionary attributes = new SettingsAttributeDictionary();
System.Configuration.UserScopedSettingAttribute attr = new UserScopedSettingAttribute();
attributes.Add(attr.TypeId, attr);
System.Configuration.SettingsProperty prop;
SettingsProvider provider = ApplicationEnvironment.GlobalSettings.Providers[providerName];
prop = new System.Configuration.SettingsProperty(
propertyName,
typeof(T),
provider,
false,
default(T),
System.Configuration.SettingsSerializeAs.String,
attributes,
false,
false
);
ApplicationEnvironment.GlobalSettings.Properties.Add(prop);
ApplicationEnvironment.GlobalSettings.Reload();
}
При следующем запуске я запрашиваю свойство settings. Я не смог найти ни одного свойства, созданного ранее. Неважно, если я позвоню ApplicationEnvironment.GlobalSettings.Reload();
или нет.