2008-11-20 12 views
9

¡Saludos a todos! Esta es mi primera pregunta aquí en stackoverflow. Tengo una aplicación WPF que estoy escribiendo para los desarrolladores compañeros en mi departamento, y hay un par de configuraciones que necesito verificar al inicio y actualizar si no están configuradas (una es la ubicación de un ejecutable en los usuarios) computadora, todos lo tenemos, pero no en el mismo lugar). Entonces, cuando mi aplicación se inicia por primera vez, necesito abrir un selector de archivos para que seleccionen la ubicación.¿Cómo actualizar appSettings en una aplicación WPF?

Lo que necesito hacer es escribir la ubicación de eso en AppSettings, pero parece que no puedo conseguirlo, y busqué Google muy duro anoche tratando de encontrar una manera de hacerlo. La mayoría de las respuestas que vi implicaban leer el archivo app.config como XML directo, y eso no parece correcto.

Por lo tanto, solo necesito una forma de actualizar los valores en las aplicaciones de mi aplicación. Puedo leer bien de ellos, simplemente no he descubierto cómo escribirles. ¡Muchas gracias!

James

Respuesta

20

¿Has consultado la clase ConfigurationManager? Proporciona una interfaz más robusta para el archivo app.config y se puede hacer algo como esto:

Configuration oConfig = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
oConfig.AppSettings.Settings["PreferenceToRemember"].Value = “NewValue”; 
oConfig.Save(ConfigurationSaveMode.Full); 
ConfigurationManager.RefreshSection(”appSettings”); 

Sólo recuerde importar System.Configuration en su proyecto. No está agregado por defecto.

+0

Im usando esto (en modo de depuración) y guarda los valores "en la memoria", pero nunca los escribe en el archivo. ¿Algunas ideas? –

+0

Hmm, eso es extraño. ¿Qué sucede si lo ejecuta fuera del modo de depuración? –

+1

Tuve el mismo problema. Asegúrese de utilizar ConfigurationSaveMode.Minimal o Full y no ConfigurationSaveMode.Modified si está agregando un nuevo valor. – MattAitchison

1

Eche un vistazo a la clase de configuración y Enterprise Library. Puede encontrar instrucciones detalladas here.

Cuestiones relacionadas