Bonjour,
Je souhaite écrire par programmation dans le fichier app.config aux emplacements que je défini, c'est à dire dans un groupe et une section particuliers :
En l'occurrence sous "GestionCategorie/SerieSection"
Code XML : 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
22
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
      <sectionGroup name="GestionCategories">
        <section name="SerieSection"
            type="System.Configuration.SingleTagSectionHandler" />
      </sectionGroup>
    </configSections>
    <appSettings>
        <add key="maclé" value="ma valeur" />
        <add key="Uneclé" value="zzz" />
        <add key="maclé3" value="ma valeur" />
    </appSettings>
    <connectionStrings>
        <add name="WindowsApplication2.Properties.Settings.artcollectionConnectionString"
            connectionString="Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=|DataDirectory|\artcollection.mdf;Integrated Security=True;Connect Timeout=30"
            providerName="System.Data.SqlClient" />
    </connectionStrings>
  <GestionCategories>
    <SerieSection valeur1="Non renseigné" valeur2="value two" valeur3="third value" />
  </GestionCategories>
</configuration>
J'arrive à lire les données avec ce code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
            Hashtable Serie = (Hashtable)ConfigurationManager.GetSection(
                "GestionCategories/SerieSection");
            string value1 = Serie["valeur1"].ToString();
            string value2 = Serie["valeur2"].ToString();
            string value3 = Serie["valeur3"].ToString();
            textBox1.Text = value2;
            foreach (DictionaryEntry d in Serie)
            {
                Console.WriteLine("{0} ; {1}", d.Key, d.Value);
            }
Mais comment écrire mes données au bon endroit ?
Le code ci-dessous n'écrit les données que dans <appsettings>
(comme on le voit au-dessus. Les données sous SerieSection, je les ai copiées/collées directement avec Notepad++)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
            Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
            config.GetSection("SerieSection");
 
            config.AppSettings.Settings.Add("maclé3", "ma valeur");
 
            config.Save(ConfigurationSaveMode.Modified);
            ConfigurationManager.RefreshSection("SerieSection");
Comment mettre "maclé3", "ma valeur" dans la section "SerieSection" ?
Je suis à cour d'idées.
J'ai déjà consulté les tuto
https://nico-pyright.developpez.com/...sectioncsharp/
et
https://cdiese.fr/fichier-de-configu...net-en-10-min/
sans trouver ma réponse (ou comprendre la solution).

Merci