Я написал небольшую утилиту, которая позволяет мне изменить простой AppSetting для другого файла приложения App.config, а затем сохранить изменения:
//save a backup copy first.
var cfg = ConfigurationManager.OpenExeConfiguration(pathToExeFile);
cfg.SaveAs(cfg.FilePath + "." + DateTime.Now.ToFileTime() + ".bak");
//reopen the original config again and update it.
cfg = ConfigurationManager.OpenExeConfiguration(pathToExeFile);
var setting = cfg.AppSettings.Settings[keyName];
setting.Value = newValue;
//save the changed configuration.
cfg.Save(ConfigurationSaveMode.Full);
Это хорошо работает, за исключением одного побочного эффекта. Недавно сохраненный файл .config теряет все исходные комментарии XML, но только в пределах области AppSettings. Можно ли сохранить комментарии XML из исходной конфигурации AppSettings?
Здесь находится пастик полного источника, если вы хотите быстро его скомпилировать и запустить.