Je suis confronté à un problème.
Je souhaite enregistrer les paramètres dans APP.Config Fichier P>
J'ai écrit une classe distincte et défini dans la section de configuration. P>
mais quand Je gère l'application. Il ne sauvegarde pas les valeurs données dans le fichier de configuration p>
ici est des paramètresClass p> et ceci est le code de l'endroit où je sauve les informations dans le fichier de configuration p> et ceci est app.config p> pouvez-vous me dire où est l'erreur ... J'ai essayé beaucoup et Lire de l'internet. mais toujours incapable de sauvegarder des informations dans la configuration Fichier. P> J'ai dirigé l'application en double-cliquant sur le fichier EXE également. p> p>
4 Réponses :
Pour mettre à jour le fichier de configuration, vous devez appeler Vous devez consulter la série en trois parties de Jon Rista sur la configuration .NET 2.0 sur CodeProject. P>
hautement recommandé, bien écrit et extrêmement utile! Il montre toutes les instances de traitement de la configuration .NET 2.0 et plus, et m'a permis de bien comprendre le sujet. P>
marc p> .save () code> sur la configuration code> objet code> non seulement votre objet de section de configuration. p>
Je demande une méthode de sauvegarde d'objet de configuration. Néanmoins, ça ne fait pas économiser.
Selon le MSDN: ConfigurationManager.Getsection Méthode ,
le OpenMAppeSExEnfiguration li>
ul> Toutefois, si vous souhaitez mettre à jour le fichier AP.Config, je le lirais comme un document XML et le manipulerait comme un document XML normal. P> S'il vous plaît voir l'exemple suivant:
Remarque: cet échantillon est juste pour la preuve de concept. Ne doit pas être utilisé dans la production tel qu'il est. p> J'ai également ajouté un attribut "horodatage" sur MySettings dans App.Config Pour vérifier facilement le résultat. P> ConfigurationManager.Getsection Code>
Méthode Accède aux informations de configuration de l'exécution qu'il ne peut pas changer em> strong>. Pour modifier la configuration, vous utilisez le Configuration .Getsection code>
méthode sur le fichier de configuration que vous obtenez en utilisant l'une des méthodes ouvertes suivantes: p>
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name="MySettings" type="TestApp.MySettings, TestApp"/>
</configSections>
<MySettings CustomerName="" EmailAddress="" TimeStamp=""/>
</configuration>
Voici le code par lequel je reçois fichier de configuration Public Static Configuration GetConfigfile () {ExeconfigurationFilemap Configfile = Nouveau ExeconfigurationFilap (); configfile.execonfigfilename = getconfigfilename (); Renvoyer ConfigurationManager.OpenMAppAppAppeSExFiguration (Configfile, ConfigurationUserLevel.none); }
Vous utilisez 'ConfigurationManager.Getsection ("mysetting")' pour définir la variable statique, les paramètres, dans MysettingClass, qui ne peut pas être modifié en fonction du MSDN.
J'ai essayé avec celui-ci aussi. toujours pas sauvegarder les paramètres de myseting statiques privés = (mysetting) utilitaire.getconfigfile (). Objectif ("myseting");
Il est beaucoup plus facile d'utiliser les fonctionnalités de paramètres intégrées fournies et automatisées par Visual Studio. Voir Ma réponse .
Dans de nombreux cas (dans un scénario d'utilisateur restreint), l'utilisateur n'a pas d'accès en écriture directement sur le fichier de configuration de l'application. Pour venir autour de cela, vous devez utiliser les utilisateurs.
Si vous cliquez avec le bouton droit de la souris sur votre projet et sélectionnez l'onglet Nommé "Paramètres", vous pouvez créer une liste de paramètres stockés avec le fichier de configuration. Si vous sélectionnez «Scope» pour être «Utilisateur», le paramètre est automatiquement stocké dans le fichier de configuration à l'aide d'un type qui stocke automatiquement les paramètres dans la zone Appdata des utilisateurs, où l'utilisateur a toujours une écriture. Les paramètres sont également automatiquement fournis en tant que propriétés créées dans le fichier de code Propriétés \ Paramètres.Cs, et sont accessibles dans votre code dans Disons que vous ajoutez un paramètre d'utilisateur appelé sur le chargement de l'application, vous souhaitez récupérer la valeur du paramètre enregistré (par défaut valeur tel qu'il est dans l'application config ou s'il est stocké pour cet utilisateur, le fichier de configuration de l'utilisateur): p> Lorsque vous souhaitez modifier la valeur, juste Ecrivez-y: P> Propriétés.Settings.default code>. P>
Exemple: h2>
Properties.Settings.Default.Save();
Qu'est-ce qui pourrait éventuellement causer le fichier app.config de ne pas mettre à jour le suivant de l'appel à enregistrer ()?
Notez que cela écrit à un fichier de configuration différent nommé yourappname.exe.config code> situé dans la zone des utilisateurs appdata, pas les paramètres de la portée de l'application statique stockés au même endroit que l'EXE, qui contient seulement des valeurs par défaut.
Sachez que l'appname.vshost.exe.config est revenu à l'état d'origine à la fin de la session de débogage. Vous pouvez donc enregistrer au fichier (vous pouvez vérifier à l'aide de Bloc-notes pendant l'exécution), puis perdez le contenu enregistré lorsque le débogage s'arrête. P>
Il n'est pas perdu lorsque le débogage s'arrête, il est perdu lorsque l'application est ré-construite à la prochaine exécution. Si vous essayez de lancer directement l'EXE (à partir de l'explorateur de fichiers) après avoir arrêté de débogage, vous verrez que les valeurs stockées sont toujours là.