2010-03-25 6 views
1

J'ai un grand fichier de configuration (utilisateur) dont j'avais besoin pour aller au bon endroit et avoir des valeurs par défaut.Encore une fois, les fichiers de configuration de l'utilisateur C#

Depuis que j'ai une classe d'installateur, j'ai ajouté des paramètres dans le fichier de configuration, mais j'ai créé les fichiers de configuration dans le dossier des installeurs.

Quelle est la meilleure façon de s'assurer que ces paramètres par défaut seront écrits une seule fois, et au bon endroit?

Répondre

6

Une manière standard d'utiliser les valeurs par défaut dans le fichier app.config. Par exemple, voici une valeur par défaut par la version que j'utilise pour vérifier que les paramètres des copies de code utilisateur entre les mises à jour:

<userSettings> 
    <Software.Namespace.Properties.UserSettings> 
     <setting name="RequiresUpgrade" serializeAs="String"> 
     <value>True</value> 
     </setting> 
    </Software.Namespace.Properties.UserSettings> 
    </userSettings> 
    <-- .... --> 
    <userSettings> 
    <Software.Namespace.Properties.UserSettings> 
     <setting name="RequiresUpgrade" serializeAs="String"> 
     <value>True</value> 
     </setting> 
    </Software.Namespace.Properties.UserSettings> 
    </userSettings> 
</configuration> 

Vous devrez ajouter un fichier .settings à votre projet, ou rendez-vous à vos propriétés du projet -> Paramètres et les configurer à partir de là.

L'emplacement du propre fichier de paramètres de l'utilisateur est généralement placé dans le dossier AppSettings de son profil. Je ne suis pas sûr si cela peut être changé, mais je me souviens de l'avoir lu.

EDIT

Il y a un peu plus d'informations à ce sujet ici: Application Settings Architecture

Il montre également l'exemple suivant si vous voulez le garder simple:

[UserScopedSetting()] 
[DefaultSettingValue("white")] 
public Color BackgroundColor 
{ 
    get 
    { 
     return ((Color)this["BackgroundColor"]); 
    } 
    set 
    { 
     this["BackgroundColor"] = (Color)value; 
    } 
} 

Et cette apparence comme il est très important de noter lors de l'utilisation de ce (citation):

Pour une application basée sur les formulaires de Windows copié sur l'ordinateur local, app.exe.config résidera dans le même répertoire que le répertoire de base du fichier exécutable principal de l'application , et user.config sera résident dans l'emplacement spécifié par le Application.LocalUserAppDataPath propriété. Pour une application installée au moyen de ClickOnce, ces deux fichiers résidera dans le ClickOnce Répertoire des données sous % InstallRoot% \ Documents and Settings \ nom d'utilisateur \ Local Settings.

L'emplacement de stockage de ces fichiers est légèrement différente si un utilisateur a itinérance permis profils, qui permet à un utilisateur de définir différents paramètres Windows et application lorsque il est d'utiliser d'autres ordinateurs dans un domaine. Dans ce cas, les deux applications ClickOnce et applications non ClickOnce auront leur app.exe.config et user.config fichiers stockés sous % InstallRoot% \ Documents and Settings \ nom d'utilisateur \ Application Data.

+0

incroyable réponse. Merci! –

+0

Vous êtes les bienvenus! Bonne chance :) – Codesleuth

Questions connexes