2010-03-25 22 views
11

Por configuración predeterminada se almacenan en: C:\Documents and Settings\\Local Settings\Application Data\<Project Name> cómo cambiar la configuración del usuario .NET ubicación

¿Cómo puedo cambiar esta ruta de directorio de la aplicación. Tampoco quiero tener diferentes archivos para diferentes usuarios. ¿Cómo hacer que la configuración sea global?

Traté de cambiar el alcance de la configuración a "aplicación" pero luego no puedo cambiarlos en tiempo de ejecución.

Respuesta

13

Using the default built-in behavior you can't!

Q: ¿Por qué es el camino tan oscuro? ¿Hay alguna manera de cambiar/personalizar ?

A: El algoritmo de construcción de pistas tiene que cumplir con ciertos requisitos rigurosos en términos de seguridad, aislamiento y robustez. A pesar de que tratado de hacer el camino tan fácilmente visible como sea posible, haciendo uso de usar, aplicación ha proporcionado cuerdas, no es posible mantener el camino totalmente sencilla y sin se produzcan problemas como colisiones con otras aplicaciones, la suplantación de identidad etc.

El LocalFileSettingsProvider no proporciona una forma de cambiar los archivos en cuya configuración se almacena. Tenga en cuenta que el proveedor en sí no determina las ubicaciones del archivo de configuración en el primer lugar - es el sistema de configuración . Si necesita almacenar la configuración en una ubicación diferente para alguna razón, la forma recomendada es escribir su propio Proveedor de configuraciones. Este es bastante simple de implementar y usted puede encontrar muestras en .NET 2.0 SDK que muestran cómo hacerlo. Sin embargo, tenga en cuenta que puede encontrarse con los mismos problemas de aislamiento mencionados anteriormente.

Estoy de acuerdo con la respuesta de Robert Harvey hágalo usted mismo, or write a custom settings provider.

+8

Este es un asco Tipo ... –

0

Existen dificultades para cambiar las configuraciones de forma programática para todos los usuarios (dado que provienen del archivo exe.config, que generalmente está en Archivos de programa y por lo tanto está protegido del acceso de escritura en sistemas operativos modernos). Puede intentar hacer las configuraciones en toda la aplicación, pero luego use el ConfigurationManager para meterse con el archivo de configuración, de forma similar a la solución al this question.

Cuestiones relacionadas