En supposant que vous parlez d'applications de bureau et non d'applications web :
Lorsque vous ajoutez des paramètres à un projet, VS crée un fichier nommé app.config
dans le répertoire de votre projet et stocke les paramètres dans ce fichier. Il construit également le fichier Settings.cs
qui fournit les accesseurs statiques aux paramètres individuels.
Au moment de la compilation, VS copiera (par défaut ; vous pouvez le changer) le fichier app.config
dans le répertoire de construction, en changeant son nom pour qu'il corresponde à celui de l'exécutable (par exemple, si votre exécutable s'appelle foo.exe
le fichier sera nommé foo.exe.config
), qui est le nom que le gestionnaire de configuration .NET recherche lorsqu'il récupère les paramètres au moment de l'exécution.
Si vous modifiez un paramètre par le biais de l'éditeur de paramètres VS, il sera mis à jour à la fois app.config
y Settings.cs
. (Si vous regardez les accesseurs de propriété dans le code généré dans la section Settings.cs
vous verrez qu'ils sont marqués d'un attribut contenant la valeur par défaut du paramètre qui se trouve dans votre fichier de configuration. app.config
fichier). Si vous modifiez un paramètre en éditant le fichier app.config
directement, Settings.cs
ne sera pas mis à jour, mais la nouvelle valeur sera toujours utilisée par votre programme lorsque vous l'exécuterez, car app.config
est copié dans foo.exe.config
au moment de la compilation. Si vous désactivez cette fonction (en définissant les propriétés du fichier), vous pouvez modifier un paramètre en éditant directement le fichier foo.exe.config
dans le répertoire de construction.
Ensuite, il y a les paramètres définis par l'utilisateur.
Les paramètres de l'application sont en lecture seule. Votre programme peut modifier et enregistrer les paramètres de l'application utilisateur, permettant ainsi à chaque utilisateur de disposer de ses propres paramètres. Ces paramètres ne sont pas stockés dans la base de données foo.exe.config
(puisque sous Vista, au moins, les programmes ne peuvent pas écrire dans un sous-répertoire du fichier Program Files
sans élévation) ; ils sont stockés dans un fichier de configuration dans le répertoire de données de l'application de l'utilisateur.
Le chemin d'accès à ce fichier est %appdata%\%publisher_name%\%program_name%\%version%\user.config
par exemple C:\Users\My Name\AppData\Local\My_Company\My_Program.exe\1.0.0\user.config
. Notez que si vous avez donné un nom fort à votre programme, ce nom fort sera ajouté au nom du programme dans ce chemin.