Manière la plus simple d’avoir un fichier de configuration dans une application Windows Forms C #

Je suis vraiment nouveau sur .NET et je n’ai toujours pas compris comment fonctionnent les fichiers de configuration.

Chaque fois que je recherche sur Google à ce sujet, j’obtiens des résultats sur web.config, mais j’écris une application Windows Forms.

J’ai compris que je devais utiliser l’espace de noms System.Configuration mais la documentation ne m’aide pas.

Comment définir que mon fichier de configuration est XYZ.xml? Ou a-t-il un nom “par défaut” pour le fichier de configuration? Je n’ai toujours pas compris ça.

Comment puis-je définir une nouvelle section, dois-je vraiment créer une classe qui hérite de ConfigurationSection?

Je voudrais juste avoir un fichier de configuration avec quelques valeurs comme ceci:

1 C:\Some\Path\Here 

Y a-t-il un moyen simple de le faire? Pouvez-vous expliquer de manière simple comment lire et écrire depuis / vers un fichier de configuration simple?

Vous souhaitez utiliser un App.Config.

Lorsque vous ajoutez un nouvel élément à un projet, il existe un fichier appelé Configuration des applications. Ajoutez cela.

Ensuite, vous ajoutez des clés dans la section configuration / appsettings

Comme:

    

Accédez aux membres en faisant

 System.Configuration.ConfigurationSettings.AppSettings["MyKey"]; 

Cela fonctionne dans .net 2 et ci-dessus.

Clarification des réponses précédentes …

1) Ajouter un nouveau fichier à votre projet (Ajouter-> Nouvel élément-> Fichier de configuration d’application)

2) Le nouveau fichier de configuration apparaîtra dans l’Explorateur de solutions sous le nom App.Config.

3) Ajoutez vos parameters dans ce fichier en utilisant ce qui suit comme modèle

         

4) Récupérez-les comme ceci:

 private void Form1_Load(object sender, EventArgs e) { ssortingng setting = ConfigurationManager.AppSettings["setting1"]; ssortingng conn = ConfigurationManager.ConnectionSsortingngs["prod"].ConnectionSsortingng; } 

5) Une fois construit, votre dossier de sortie contiendra un fichier appelé .exe.config. Ce sera une copie du fichier App.Config. Le développeur n’a pas besoin de travailler pour créer ce fichier.

En lisant rapidement les réponses précédentes, elles semblent correctes, mais il ne semble pas que quiconque ait mentionné les nouvelles fonctionnalités de configuration dans VS 2008. Il utilise toujours app.config (copié au moment de la compilation sur YourAppName.exe.config), mais il y a un widget d’interface utilisateur pour définir les propriétés et spécifier leurs types. Double-cliquez sur Settings.settings dans le dossier “Propriétés” de votre projet.

La meilleure partie est que l’access à cette propriété à partir du code est de type typesafe – le compilateur détectera des erreurs évidentes, comme une erreur de frappe sur le nom de la propriété. Par exemple, une propriété appelée MyConnectionSsortingng dans app.config serait accessible comme:

 ssortingng s = Properties.Settings.Default.MyConnectionSsortingng; 

Vous devez créer un fichier App.config (très similaire à web.config)

Vous devez faire un clic droit sur votre projet, append un nouvel élément, nouveau “Fichier de configuration d’application”.

Assurez-vous d’append à l’aide de System.Configuration à votre projet.

Ensuite, vous pouvez y append des valeurs

          

  private void Form1_Load(object sender, EventArgs e) { ssortingng setting = ConfigurationManager.AppSettings["setting1"]; ssortingng conn = ConfigurationManager.ConnectionSsortingngs["prod"].ConnectionSsortingng; } 

Juste une note, selon Microsoft , vous devriez utiliser ConfigurationManager au lieu de ConfigurationSettings. (voir la section Remarques) “La classe ConfigurationSettings offre uniquement une compatibilité descendante. Pour les nouvelles applications, vous devez utiliser la classe ConfigurationManager ou la classe WebConfigurationManager.”

Le nom par défaut d’un fichier de configuration est [yourexe] .exe.config. Donc notepad.exe aura un fichier de configuration nommé notepad.exe.config, dans le même dossier que le programme. Ceci est un fichier de configuration général pour tous les aspects du CLR et du Framework, mais peut contenir vos propres parameters sous un noeud .

L’élément crée une collection de paires nom-valeur accessibles sous le nom System.Configuration.ConfigurationSettings.AppSettings . Cependant, il n’y a aucun moyen de sauvegarder les modifications dans le fichier de configuration.

Il est également possible d’append vos propres éléments personnalisés à un fichier de configuration, par exemple pour définir un paramètre structuré, en créant une classe qui implémente IConfigurationSectionHandler et en l’ajoutant à l’élément du fichier de configuration. Vous pouvez ensuite y accéder en appelant ConfigurationSettings.GetConfig .

.NET 2.0 ajoute une nouvelle classe, System.Configuration.ConfigurationManager , qui prend en charge plusieurs fichiers, avec des remplacements par utilisateur des données par système. Il prend également en charge l’enregistrement des configurations modifiées sur les fichiers de parameters.

Visual Studio crée un fichier appelé App.config , qu’il copie dans le dossier EXE, avec le nom correct, lorsque le projet est généré.

Le meilleur article (IMHO) sur la configuration de l’application .NET se trouve sur CodeProject Démêler les mystères de la configuration .NET 2.0 . Et mon prochain article préféré (plus court) sur les sections dans les fichiers de configuration .net est Comprendre les gestionnaires de fichiers – fichier App.config .

Dans les formulaires Windows, vous avez un app.config , qui est très similaire à web.config . Mais comme je vois que vous en avez besoin pour les valeurs personnalisées, je suggère d’utiliser les parameters. Pour ce faire, ouvrez les propriétés de votre projet, puis accédez aux parameters. Si un fichier de parameters n’existe pas, vous aurez un lien pour en créer un. Ensuite, vous pouvez append les parameters à la table que vous voyez là-bas, ce qui générerait à la fois le fichier XML approprié et une classe de parameters pouvant être utilisée pour charger et enregistrer les parameters. La classe de parameters portera le nom de DefaultNamespace.Properties.Settings . Ensuite, vous pouvez utiliser un code similaire à:

 using DefaultNamespace.Properties; namespace DefaultNamespace { class Class { public int LoadMySettingValue() { return Settings.Default.MySettingValue; } public void SaveMySettingValue(int value) { Settings.Default.MySettingValue = value; } } } 

Je suis d’accord avec les autres réponses qui vous dirigent vers app.config. Cependant, plutôt que de lire les valeurs directement depuis app.config, vous devez créer une classe utilitaire (AppSettings est le nom que j’utilise) pour les lire et les exposer en tant que propriétés. La classe AppSettings peut être utilisée pour agréger les parameters de plusieurs magasins, tels que les valeurs de app.config et les informations de version de l’application issues de l’assembly (AssemblyVersion et AssemblyFileVersion).

Une méthode très simple consiste à utiliser votre propre classe de Settings personnalisés .

System.Configuration.ConfigurationSettings.AppSettings [“MyKey”];

AppSettings est obsolète et est maintenant considéré comme obsolète. [ lien ]

En outre, la section appSettings du fichier app.config a été remplacée par la section applicationSettings.

Comme quelqu’un d’autre l’a mentionné, vous devriez utiliser System.Configuration.ConfigurationManager [ link ], qui est nouveau pour .Net 2.0.

Quelle version de .Net et VS utilisez-vous?

Lorsque vous avez créé le nouveau projet, vous devez avoir un fichier dans votre solution appelé app.config, c’est-à-dire le fichier de configuration par défaut.