Хорошо, я уже почти сдался.
Я хотел бы иметь возможность записывать пользовательские настройки, используя файл конфигурации пользователя, на который будет ссылаться файл конфигурации приложения. Я пытаюсь сделать это с ConfigurationManager
и файлом конфигурации приложения. Я могу читать очень хорошо из пользовательских настроек, но их установка - это совсем другая проблема. Я хотел бы сохранить настройки приложения отдельно от пользовательских настроек в двух разных файлах.
Когда я использую это:
<appSettings file="user.config">
</appSettings>
и user.config выглядит так:
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="localSetting" value="localVal"/>
</appSettings>
Я могу использовать ConfigurationManager для ЧТЕНИЯ локальных настроек, но не для сохранения в файл.
var oldLocVal = ConfigurationManager.AppSettings["localSetting"];
ConfigurationManager.AppSettings.Set("localSetting", "newLocalValue"); // Doesn't save to file.
Если вместо этого мой файл user.config:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="localSetting" value="localVal"/>
</appSettings>
</configuration>
Затем я хотел бы позвонить и сохранить AppSettings следующим образом:
var uMap = new ConfigurationFileMap("user.config");
var uConfig = ConfigurationManager.OpenMappedMachineConfiguration(uMap);
var oldLocalVarFromConfig = uConfig.AppSettings.Settings["localSetting"]; // NO
uConfig.AppSettings.Settings.Remove("localSetting"); // NO
uConfig.AppSettings.Settings.Add("localSetting", "newValue");
uConfig.Save();
но он не позволит мне получить доступ к настройкам приложения конфигурации. (У него есть проблема приведения чего-либо как AppSettings)
Я также попытался использовать атрибуты
configSource
вместо
file
в элементе конфигурации приложения
appSettings
element.
Я использовал примеры здесь для помощи, но, к сожалению, этого было недостаточно.
Заранее спасибо.