¿Dónde se almacenan las propiedades. Configuración predeterminada?

Pensé que sabía esto, pero hoy estoy demostrando que estoy equivocado, nuevamente.

Ejecutando VS2008, .NET 3.5 y C #. Agregué las configuraciones de Usuario a la pestaña de Configuración de Propiedades con valores predeterminados, luego las leí usando este código:

myTextBox.Text = Properties.Settings.Default.MyStringProperty; 

Luego, después de que el usuario edita el valor en el diálogo de opciones, lo guardo de esta manera:

 Properties.Settings.Default.MyStringProperty = myTextBox.Text; Properties.Settings.Default.Save(); 

Mi pregunta es, ¿dónde se guarda este nuevo valor? el archivo MyApp.exe.config en el directorio ejecutable no se actualiza, aún contiene los valores predeterminados. Además, por lo que puedo decir, ninguno de los otros archivos en ese directorio se actualiza tampoco! Sin embargo, cuando el progtwig vuelve a leer el valor, obtiene el valor modificado, así que sé que está guardado en algún lugar …

Esto no es solo académico, necesitaba poder editar el valor manualmente esta mañana y me quedé perplejo cuando no pude encontrar nada que estuviera cambiando.

Para trabajar con las versiones más nuevas de la política de Windows de permitir solo el acceso de lectura de forma predeterminada a la carpeta Archivos de progtwig (a menos que solicite la elevación con UAC, pero ese es otro tema …), su aplicación tendrá una carpeta de configuración bajo %userprofile%\appdata\local o %userprofile%\Local Settings\Application Data dependiendo de la versión de Windows que esté ejecutando, para configuraciones que son específicas del usuario. Si almacena configuraciones para todos los usuarios, estarán en la carpeta correspondiente en C:\users o C:\Documents and Settings para todos los perfiles de usuario (por ejemplo, C:\users\public\appdata\local ).

Puedes obtener el camino programáticamente:

 using System.Configuration; // Add a reference to System.Configuration.dll ... var path = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal).FilePath; 

se guarda en sus documentos y configuraciones \% usuario% \ Configuración local \ Datos de aplicación …… etc. busca un archivo llamado user.config allí

la ubicación puede cambiar sin embargo.

Gracias por señalarme en la dirección correcta. Encontré user.config ubicado en esta monstruosidad: c: \ users \ USER \ AppData \ Local \ COMPANY \ APPLICATION.exe_Url_LOOKSLIKESOMEKINDOFHASH \ VERSION \ user.config.

Tuve que actualizar la versión en mi aplicación y todas las configuraciones parecían haberse desvanecido. la aplicación creó una nueva carpeta con la nueva versión y usó la configuración predeterminada. tomó una eternidad para encontrar dónde estaba almacenado el archivo, pero luego fue una simple copia y pega para obtener la configuración de la nueva versión.

Las configuraciones específicas del usuario se guardan en la carpeta de datos de aplicación del usuario para esa aplicación. Busque un archivo user.config .

No sé lo que esperaba, ya que los usuarios a menudo ni siquiera tienen acceso de escritura al directorio ejecutable en primer lugar.

Hay una carpeta llamada “Propiedades” debajo de la carpeta raíz de su proyecto, y hay un archivo * .settings debajo de esa carpeta. Ahí es donde se almacena.