Gérer les paramètres d’application (.NET)

Les paramètres d’application vous permettent de stocker des informations sur l’application de manière dynamique. Avec les paramètres d’application, vous pouvez utiliser un ordinateur client pour stocker les informations qui ne doivent pas être incluses dans le code de l’application au moment de l’exécution. Les paramètres d’application peuvent inclure des chaînes de connexion, des préférences utilisateur, etc.

Notes

Les paramètres d’application remplacent les propriétés dynamiques utilisées dans les versions antérieures de Visual Studio.

Chaque paramètre d’application doit avoir un nom unique. Le nom peut combiner des lettres, des chiffres ou des traits de soulignement. Toutefois, le nom ne peut pas commencer par un chiffre, et il ne peut pas avoir d’espaces. Le nom est modifié par le biais de la propriété Name.

Les paramètres d’application peuvent être stockés comme n’importe quel type de données sérialisé par XML ou ayant un TypeConverter qui implémente ToString/FromString. Les types les plus courants sont String, Integer et Boolean. Vous pouvez également stocker des valeurs en tant que Color, Object ou sous forme de chaîne de connexion.

Les paramètres d’application comportent également une valeur. La valeur est définie avec la propriété Value et doit correspondre au type de données du paramètre.

De plus, les paramètres d’application peuvent être liés à une propriété d’un formulaire ou d’un contrôle au moment du design.

Selon la portée, on distingue deux types de paramètres d’application :

  • Les paramètres d’application peuvent être utilisés pour obtenir des informations telles que l’URL d’un service web ou une chaîne de connexion de base de données. Ces valeurs sont associées à l’application. Par conséquent, les utilisateurs ne peuvent pas les modifier au moment de l’exécution.

  • Les paramètres utilisateur peuvent être utilisés pour obtenir des informations telles que la persistance de la dernière position d’un formulaire ou une préférence de police. Les utilisateurs peuvent modifier ces valeurs au moment de l’exécution.

Vous pouvez modifier le type d’un paramètre à l’aide de la propriété Scope .

Le système de projet stocke les paramètres d’application dans deux fichiers XML :

  • Un fichier app.config, créé au moment du design, quand vous créez le premier paramètre d’application

  • Un fichier user.config, créé au moment de l’exécution quand l’utilisateur qui exécute l’application change la valeur d’un paramètre utilisateur.

Notez que les changements apportés aux paramètres utilisateur ne sont pas écrits sur le disque, sauf si l’application appelle spécifiquement une méthode à cet effet.

Créer les paramètres d’application au moment du design

Au moment du design, vous pouvez créer des paramètres d’application de deux façons :

  • Utilisez la page Paramètres du Concepteur de projet.

  • Utilisez la fenêtre Propriétés d’un formulaire ou d’un contrôle pour pouvoir lier un paramètre à une propriété.

Quand vous créez un paramètre d’application (par exemple une chaîne de connexion de base de données ou une référence à des ressources serveur), Visual Studio l’enregistre dans le fichier app.config avec la balise <applicationSettings>. (Les chaînes de connexion sont enregistrées sous la balise <connectionStrings> .)

Quand vous créez un paramètre utilisateur (par exemple une police, une page d’accueil ou une taille de fenêtre par défaut), Visual Studio l’enregistre dans le fichier app.config avec la balise <userSettings>.

Important

Quand vous stockez des chaînes de connexion dans app.config, vous devez prendre des précautions pour éviter de révéler des informations sensibles, telles que des mots de passe ou des chemins d’accès au serveur, dans la chaîne de connexion.

Si vous obtenez les informations relatives à une chaîne de connexion à partir d’une source externe, par exemple un utilisateur qui fournit son identifiant utilisateur et son mot de passe, vous devez veiller à ce que les valeurs utilisées pour construire votre chaîne de connexion ne contiennent pas de paramètres de chaîne de connexion supplémentaires qui changent la comportement de la connexion.

Envisagez l’utilisation de la fonctionnalité de configuration protégée pour chiffrer les informations sensibles dans le fichier de configuration. Pour plus d’informations, consultez Protéger les informations de connexion.

Notes

Dans la mesure où il n’existe pas de modèle de fichier config pour les bibliothèques de classes, les paramètres d’application ne s’appliquent pas aux projets de bibliothèque de classes. Seule exception : un projet basé sur la DLL du runtime Visual Studio Tools pour Office peut avoir un fichier config.

Utiliser des fichiers de paramètres personnalisés

Vous pouvez ajouter des fichiers de paramètres personnalisés à votre projet pour une gestion pratique des groupes de paramètres. Comme les paramètres contenus dans un fichier unique sont chargés et enregistrés en tant qu’unité, Stocker les paramètres dans des fichiers séparés pour les groupes utilisés fréquemment et ceux utilisés rarement peut économiser du temps en termes de chargement et d’enregistrement des paramètres.

Par exemple, vous pouvez ajouter un fichier SpecialSettings.settings à votre projet. Alors que votre classe SpecialSettings n’est pas exposée dans l’espace de noms My, le mode Afficher le code peut lire le fichier des paramètres personnalisés qui contient Partial Class SpecialSettings.

Le Concepteur de paramètres recherche d’abord le fichier Settings.settings créé par le système de projet. Le fichier Settings.settings est le fichier par défaut que le Concepteur de projet affiche sous l’onglet Paramètres. Le fichier Settings.settings se trouve dans le dossier Mon projet pour les projets Visual Basic, et dans le dossier Propriétés pour les projets Visual C#. Comme le Concepteur de projet recherche ensuite d’autres fichiers de paramètres dans le dossier racine du projet, vous devez mettre votre fichier de paramètres personnalisés à cet emplacement. Si vous ajoutez un fichier .settings à un autre emplacement de votre projet, le Concepteur de projet n’est pas en mesure de le trouver.

Accéder aux paramètres d’application ou les modifier au moment de l’exécution en Visual Basic

Dans les projets Visual Basic, vous pouvez accéder aux paramètres d’application au moment de l’exécution à l’aide de l’objet My.Settings. Dans la page Paramètres, sélectionnez le bouton Afficher le code pour voir le fichier Settings.vb. Settings.vb définit la classe Settings qui vous permet de gérer ces événements sur la classe de paramètres : SettingChanging, PropertyChanged, SettingsLoaded et SettingsSaving. Notez que la classe Settings dans Settings.vb est une classe partielle qui affiche uniquement le code appartenant à l’utilisateur, non pas l’intégralité de la classe générée. Pour plus d’informations sur l’accès aux paramètres d’application à l’aide de l’objet My.Settings, consultez Accéder aux paramètres d’application (.NET Framework).

Les valeurs de tous les paramètres au niveau de l’utilisateur que l’utilisateur modifie au moment de l’exécution (par exemple la position d’un formulaire) sont stockées dans un fichier user.config. Notez que les valeurs par défaut restent enregistrées dans app.config.

Si des paramètres utilisateur sont changés au moment de l’exécution, par exemple durant des tests de l’application, et si vous souhaitez réinitialiser ces paramètres à leurs valeurs par défaut, sélectionnez le bouton Synchroniser.

Pour des raisons de bonnes pratiques, il est recommandé d’utiliser l’objet My.Settings et le fichier .settings par défaut pour accéder aux paramètres. En effet, vous pouvez utiliser le Concepteur de paramètres pour attribuer des propriétés aux paramètres. De plus, les paramètres utilisateur sont automatiquement enregistrés avant l’arrêt de l’application. Toutefois, votre application Visual Basic peut accéder directement aux paramètres. Dans ce cas, vous devez accéder à la classe MySettings et utiliser un fichier .settings personnalisé à la racine du projet. Vous devez enregistrer les paramètres utilisateur avant d’arrêter l’application, comme vous le faites pour une application C# (comme indiqué dans la section suivante).

Accéder aux paramètres d’application ou les modifier au moment de l’exécution en C#

Dans les langages autres que Visual Basic, par exemple C#, vous devez accéder directement à la classe Settings, comme indiqué dans l’exemple Visual C# suivant.

Properties.Settings.Default.FirstUserSetting = "abc";

Vous devez appeler explicitement la méthode Save de cette classe wrapper pour conserver les paramètres utilisateur. En règle générale, vous devez effectuer cette opération dans le gestionnaire d’événements Closing du formulaire principal. L’exemple C#, suivant illustre un appel à la méthode Save.

Properties.Settings.Default.Save();

Pour obtenir des informations générales sur l’accès aux paramètres d’application à l’aide de la classe Settings, consultez Présentation des paramètres d’application (.NET Framework). Pour plus d’informations sur l’itération au sein de paramètres, consultez ce message de forum.