Actualización: No estoy seguro de si lo siguiente se aplica a las aplicaciones WP7. Lo dejaré aquí por si acaso. Solo he probado esto para aplicaciones normales.
Deberá "actualizar" el archivo de configuración anterior.
También necesita saber cuándo debe hacer esto (es decir, solo cuando se instala una nueva versión).
Para saber cuándo debe actualizar la configuración, agregue un booleano llamado (digamos) NeedSettingsUpgrade a su configuración, y de forma predeterminada a verdadero.
luego llamar a la siguiente función en algún lugar cerca del comienzo de Main():
/// <summary>Upgrades the application settings, if required.</summary>
private static void upgradeApplicationSettingsIfNecessary()
{
// Application settings are stored in a subfolder named after the full #.#.#.# version number of the program. This means that when a new version of the program is installed, the old settings will not be available.
// Fortunately, there's a method called Upgrade() that you can call to upgrade the settings from the old to the new folder.
// We control when to do this by having a boolean setting called 'NeedSettingsUpgrade' which is defaulted to true. Therefore, the first time a new version of this program is run, it will have its default value of true.
// This will cause the code below to call "Upgrade()" which copies the old settings to the new.
// It then sets "NeedSettingsUpgrade" to false so the upgrade won't be done the next time.
if (Settings.Default.NeedSettingsUpgrade)
{
Settings.Default.Upgrade();
Settings.Default.NeedSettingsUpgrade = false;
}
}
Nota: Usted, por supuesto que tenga que llamar Settings.Default.Save()
antes de que sus salidas del programa, de lo contrario los ajustes cambian no se persistido.
También estoy interesado en tu problema. Observé algo similar al probar mi aplicación. Cuando se ejecuta desde Visual Studio y se dirige al teléfono (no al emulador), a veces se borra la base de datos y se vuelve a crear, otras veces simplemente se actualiza el código sin eliminar la base de datos. – Dante