Monday 16 August 2010

Guardar configuracion previa en C# y VB.NET

Cada vez que compilas tu programa en C# cambia la version del ensamblado y por consiguiente la aplicacion crea una nueva carpeta:


C:\Documents and Settings\Usuario\Configuración local\Datos de programa\NOMBREPROGRAMA\NOMREDELEJECUTABLE.EXE_Url_2ha3w3vmz3qfzpaloruetfyed\1.0.3880.23525\app.config


Otra compilacion:

C:\Documents and Settings\Usuario\Configuración local\Datos de programa\NOMBREPROGRAMA\NOMREDELEJECUTABLE.EXE_Url_2ha3w3vmz3qfzpaloruetfyed\1.0.3880.24678\app.config


Entonces ahi tendras problemas con la configuracion y tendras que configurar el programa cada vez que lo compiles

Para evitar esto agrega este codigo, normalmente lo agrego en el archivo Program.cs de la solucion:

Codigo C#:

/*
* Importar la ultima configuracion
*/
Version appVersion = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version;

// Cambio la version del ensamblado???
// si es asi entonces guardalo
if (Properties.Settings.Default.ApplicationVersion != appVersion.ToString())
{
Properties.Settings.Default.Upgrade(); // <-- aqui importa la configuracion anterior
Properties.Settings.Default.ApplicationVersion = appVersion.ToString();
Properties.Settings.Default.Save();
}



Codigo VB.NET:

'
' * Importar la ultima configuracion
'

Dim appVersion As Version = System.Reflection.Assembly.GetExecutingAssembly().GetName().Version

' Cambio la version del ensamblado???
' si es asi entonces guardalo
If Properties.Settings.[Default].ApplicationVersion <> appVersion.ToString() Then
Properties.Settings.[Default].Upgrade()
' <-- aqui importa la configuracion anterior
Properties.Settings.[Default].ApplicationVersion = appVersion.ToString()
Properties.Settings.[Default].Save()
End If


Como veras tendras que agregar un campo de configuracion llamado ApplicationVersion


Publicado en tttony.blogspot.com

No comments:

Post a Comment