Есть вопросы, касающиеся настроек чтения из отдельного файла конфигурации и других, похожих на него, но мой вопрос специфичен для настроек свойств приложения (т.е. <MyApplication.Properties.Settings>
- см. XML файл ниже) и как их динамически загружать. Я пробовал метод в этом сообщении, который включал обновление всего раздела appSettings основного файла конфигурации, но моя адаптация исключала исключения из-за того, что я не заменял раздел appSettings:
var config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
// Have tried the other ConfigurationUserLevels to no avail
config.AppSettings.File = myRuntimeConfigFilePath;
config.Save(ConfigurationSaveMode.Modified); // throws ConfigurationErrorsException
ConfigurationManager.RefreshSection("userSettings");
КонфигурацияErrorsException.Message - "Корневой элемент должен соответствовать имени раздела, ссылающегося на файл," appSettings "(C:\myFile.xml строка 2)." Файл:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<userSettings>
<MyApplication.Properties.Settings>
<setting name="SineWaveFrequency" serializeAs="String">
<value>6</value>
</setting>
<setting name="SineWaveAmplitude" serializeAs="String">
<value>6</value>
</setting>
</MyApplication.Properties.Settings>
</userSettings>
</configuration>
Есть ли способ импортировать значения из этого файла в класс MyApplication.Properties.Settings.Default
, когда структура обрабатывает всю десериализацию XML, как это происходит, когда файл конфигурации загружается при запуске приложения?