Je suis vraiment nouveau sur .NET et je n'ai toujours pas compris le fonctionnement des 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 n'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.
Aussi, comment 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 des valeurs comme celle-ci:
<MyCustomValue>1</MyCustomValue>
<MyCustomPath>C:\Some\Path\Here</MyCustomPath>
Y a-t-il un moyen simple de le faire? Pouvez-vous expliquer de manière simple comment lire et écrire depuis / vers un simple fichier de configuration?
la source
Réponses:
Vous souhaitez utiliser un App.Config.
Lorsque vous ajoutez un nouvel élément à un projet, il y a quelque chose appelé fichier de configuration des applications. Ajoutez ça.
Ensuite, vous ajoutez des clés dans la section configuration / paramètres de l'application
Comme:
Accédez aux membres en faisant
Cela fonctionne dans .NET 2 et supérieur.
la source
ConfigurationSettings
est obsolète, utilisezSystem.Configuration.ConfigurationManager.AppSettings["MyKey"];
.System.Configuration.ConfigurationManager
votre projet a besoin d'une référence àSystem.Configuration.dll
Clarification des réponses précédentes ...
Ajoutez un nouveau fichier à votre projet ( Ajouter → Nouvel élément → Fichier de configuration d'application )
Le nouveau fichier de configuration apparaîtra dans l'Explorateur de solutions sous le nom App.Config .
Ajoutez vos paramètres dans ce fichier en utilisant ce qui suit comme modèle
Récupérez-les comme ceci:
Une fois construit, votre dossier de sortie contiendra un fichier appelé <assemblyname> .exe.config. Ce sera une copie du fichier App.Config . Aucun autre travail ne doit être effectué par le développeur pour créer ce fichier.
la source
À partir d'une lecture rapide des réponses précédentes, elles semblent correctes, mais il ne semble pas que quiconque ait mentionné les nouvelles fonctionnalités de configuration de Visual Studio 2008. Il utilise toujours app.config (copié au moment de la compilation dans YourAppName.exe.config), mais il existe 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'accès à cette propriété à partir du code est sécurisé - le compilateur détectera des erreurs évidentes comme une erreur de saisie du nom de la propriété. Par exemple, une propriété appelée MyConnectionString dans app.config serait accessible comme:
la source
Settings.Default.Test = "abc"; Settings.Default.Save();
Vous devez créer un fichier App.config (très similaire à web.config ).
Vous devez faire un clic droit sur votre projet, ajouter un nouvel élément et choisir un nouveau "Fichier de configuration d'application" .
Assurez-vous d'ajouter à l'aide de System.Configuration dans votre projet.
Ensuite, vous pouvez y ajouter des valeurs:
Juste une note: selon Microsoft , vous devriez utiliser ConfigurationManager au lieu de ConfigurationSettings (voir la section des remarques):
la source
Le nom par défaut d'un fichier de configuration est [yourexe] .exe.config. Ainsi notepad.exe aura un fichier de configuration nommé notepad.exe.config, dans le même dossier que le programme. Il s'agit d'un fichier de configuration générale pour tous les aspects du CLR et du Framework, mais il peut contenir vos propres paramètres sous un
<appSettings>
nœud.L'
<appSettings>
élément crée une collection de paires nom-valeur auxquelles on peut accéder en tant queSystem.Configuration.ConfigurationSettings.AppSettings
. Cependant, il n'existe aucun moyen de sauvegarder les modifications dans le fichier de configuration.Il est également possible d'ajouter 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'<configSections>
élément du fichier de configuration. Vous pouvez ensuite y accéder en appelantConfigurationSettings.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 dans les fichiers de paramètres.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é.la source
Le meilleur article (à mon humble avis) sur la configuration de l'application .NET est sur CodeProject, Unraveling the Mysteries of .NET 2.0 Configuration . Et mon prochain article préféré (plus court) sur les sections dans les fichiers de configuration .NET est Understanding Section Handlers - App.config File .
la source
Dans Windows Forms, vous avez le
app.config
fichier, qui est très similaire auweb.config
fichier. Mais comme je vois que vous en avez besoin pour des valeurs personnalisées, je suggère d'utiliser Paramètres .Pour ce faire, ouvrez les propriétés de votre projet, puis accédez aux paramètres. Si un fichier de paramètres n'existe pas, vous aurez un lien pour en créer un. Ensuite, vous pouvez ajouter les paramètres au tableau que vous voyez ici, ce qui générerait à la fois le code XML approprié et une classe de paramètres pouvant être utilisée pour charger et enregistrer les paramètres.
La classe de paramètres sera nommée quelque chose comme
DefaultNamespace.Properties.Settings
. Ensuite, vous pouvez utiliser un code similaire à:la source
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 paramètres de plusieurs magasins, tels que les valeurs de app.config et les informations de version d'application de l'assembly (AssemblyVersion et AssemblyFileVersion).
la source
Une manière très simple de faire ceci est d'utiliser votre propre
Settings
classe personnalisée .la source
Utilisation:
AppSettings est obsolète et est désormais considéré comme obsolète ( lien ).
En outre, la section appSettings de app.config a été remplacée par la section applicationSettings .
Comme quelqu'un l'a mentionné, vous devriez utiliser System.Configuration.ConfigurationManager ( lien ) qui est nouveau pour .NET 2.0.
la source
Quelle version de .NET et Visual Studio utilisez-vous?
Lorsque vous avez créé le nouveau projet, vous devez avoir un fichier dans votre solution appelé app.config . C'est le fichier de configuration par défaut.
la source