title: How do you upgrade all settings in user.config when the version number changes?
body: <p>I have many user scoped settings being stored in user.config by objects which inherit from ApplicationSettingsBase.</p>
  
  <p>The <em>SettingsKey</em> for each instance is derived dynamically at runtime using primarily the form name. Therefore there could be hundreds.</p>
  
  <p>I've read many questions and answers (Like this one - <a href="https://stackoverflow.com/questions/534261/how-do-you-keep-user-config-settings-across-different-assembly-versions-in-net">How do you keep user.config settings across different assembly versions in .net?</a>) which all recommend wrapping a <b>ApplicationSettingsBase.Upgrade()</b> call in some version number checking.</p>
  
  <p>The problem is (as far as I can tell) you need to know every single *SettingsKey( value used in order to instantiate all the ApplicationSettingsBase objects to in turn call the upgrade method.</p>
  
  <p><b>Is there a way to upgrade all user.config settings at once or alternatively, iterate through all settings in the file to upgrade them?</b></p>