IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[VS2013] ConfigurationManager - Config de mon app


Sujet :

C#

  1. #1
    Invité
    Invité(e)
    Par défaut [VS2013] ConfigurationManager - Config de mon app
    bonjour,

    je cherche à enregistrer les paramètres de mon applis, je pensais utiliser un fichier ini, mais c# utilise apparemment des fichiers de config.
    j'ai donc trouvé ce tuto sur ce site.

    j'ai donc créé ce code:

    app.config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="as1" value="aaa"/>
        <add key="as2" value="bbb"/>
        <add key="as3" value="ccc"/>
        <add key="as4" value="ddd"/>
        <add key="as5" value="eee"/>
      </appSettings>
     </configuration>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    private void Form1_Load(object sender, EventArgs e)
    {
        string txt = "";
        foreach (string aValue in ConfigurationManager.AppSettings)
        {
            txt += String.Format("Key {0} -  Value {1}", aValue, ConfigurationManager.AppSettings[aValue]) + Environment.NewLine;
        }
        MessageBox.Show(txt);
    }
    à, pas de problèmes, je récupère toutes les données.

    si j'essaie d'ajouter des données supplémentaires, ça plante:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
     
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
      <appSettings>
        <add key="as1" value="aaa"/>
        <add key="as2" value="bbb"/>
        <add key="as3" value="ccc"/>
        <add key="as4" value="ddd"/>
        <add key="as5" value="eee"/>
      </appSettings>
      <dossiers>
        <liste>
          <add key="as01" value="aaa-aaa"/>
          <add key="as02" value="bbb-bbb"/>
        </liste>
      </dossiers>
     </configuration>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    private void Form1_Load(object sender, EventArgs e)
    {
        string txt = "";
        foreach (string aValue in ConfigurationManager.AppSettings)
        {
            txt += String.Format("Key {0} -  Value {1}", aValue, ConfigurationManager.AppSettings[aValue]) + Environment.NewLine;
        }
        MessageBox.Show(txt);
     
        Hashtable options = (Hashtable)ConfigurationManager.GetSection("dossiers/liste");
     
        txt = "";
        foreach (DictionaryEntry opt in options)
        {
            txt += opt.Value;
        }
        MessageBox.Show(txt);     
    }
    avec ce code, dès la 1ère boucle (qui fonctionnait lors de mon test précédent), ça plante, les objet retourne null et génère une exception.
    je ne comprends pas ce qui ne va pas dans mon code.

    j'ai cherché des infos, mais je n'ai rien pour m'aider à résoudre ce pb.
    j'espère que l'un de vous pourra m'éclairer.

    merci de votre aide,
    ben
    Dernière modification par Invité ; 09/07/2015 à 17h40.

  2. #2
    Invité
    Invité(e)
    Par défaut
    bonjour,

    quelqu'un aurait une idée pour m'aider ?

    sinon, je peux toujours faire mon propre fichier xml pour faire mon propre fichier de config, mais j'aurais préférer utiliser cette méthode prévue pour cela.

    merci d'avance
    ben

  3. #3
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    salut

    j'utilise pas / peu les configurations App, mais je me demande si le fait d'ajouter ton "tag" dossier... ne perturbe pas la disposition du configuration app qui est
    plutôt avec des groups, etc...

    Je pencherais pour la raison du problème..

    sinon, tu as ce tutoriel:

    http://nico-pyright.developpez.com/t...sectioncsharp/

  4. #4
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    Genre il manquerait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     <configSections>
        <sectionGroup name="MonGroupe">
          <section name="MaSectionUne" type="System.Configuration.NameValueSectionHandler" />
          <section name="MaSectionDeux" type="System.Configuration.DictionarySectionHandler" />
        </sectionGroup>
      </configSections>

  5. #5
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    string txt = "";
                foreach (string aValue in ConfigurationManager.AppSettings)
                {
                    txt += String.Format("Key {0} -  Value {1}", aValue, ConfigurationManager.AppSettings[aValue]) + Environment.NewLine;
                }
     
                MessageBox.Show(txt);
     
                Hashtable options = (Hashtable)ConfigurationManager.GetSection("dossiers/liste");
     
                txt = "";
                foreach (DictionaryEntry opt in options)
                {
                    txt += opt.Value;   
                }
                MessageBox.Show(txt);
    avec ce fichier de App.config fonctionne parfaitement ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
       <configSections>
        <sectionGroup name="dossiers">
          <section name="liste" type="System.Configuration.DictionarySectionHandler" />
        </sectionGroup>
      </configSections>
      <appSettings>
        <add key="as1" value="aaa"/>
        <add key="as2" value="bbb"/>
        <add key="as3" value="ccc"/>
        <add key="as4" value="ddd"/>
        <add key="as5" value="eee"/>
      </appSettings>
      <dossiers>
        <liste>
          <add key="as01" value="aaa-aaa"/>
          <add key="as02" value="bbb-bbb"/>
        </liste>
      </dossiers>
     </configuration>

  6. #6
    Invité
    Invité(e)
    Par défaut
    merci de vos réponses.

    je vais tester ça et vous redire, merci !

  7. #7
    Invité
    Invité(e)
    Par défaut
    c'est bon, c'est parfait, j'avais mal compris le format du fichier de config qu'il faut respecter.
    merci de votre aide.

    ben

  8. #8
    Expert confirmé

    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Septembre 2006
    Messages
    3 580
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Chef de projet NTIC
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Septembre 2006
    Messages : 3 580
    Points : 5 195
    Points
    5 195
    Par défaut
    mettre "résolu" sera parfait

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 11/01/2013, 21h37
  2. Il est où mon App.config ?
    Par mappy dans le forum Windows Forms
    Réponses: 5
    Dernier message: 01/10/2008, 14h45
  3. Réponses: 4
    Dernier message: 21/08/2008, 17h00
  4. Prob débutant mon app ne tourne que sur mon ordi
    Par alainpeniche dans le forum Windows
    Réponses: 1
    Dernier message: 01/10/2007, 00h20
  5. Déb mon app ne tourne pas sur d'autres ordis
    Par alainpeniche dans le forum Visual C++
    Réponses: 1
    Dernier message: 01/10/2007, 00h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo