Nel mio programma in VB.net, NO C, noC# leggo il mio file di Config per esempio così:

codice HTML:
 
Imports System.Configuration
Imports System.Collections.Specialized
Imports System.Collections.Generic

Module Module1

    Sub LeggiConfig()

        Dim sAttr As String

        sAttr = ConfigurationSettings.AppSettings("Key1") ' li legge ad uno ad uno
        Console.WriteLine("The value of Key1: " & sAttr)
        
        end sub
   End Module
codice HTML:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup>
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
    </startup>

  <appSettings>
    
    <add key="Key0" value="0" />
    <add key="Key1" value="1" />
    <add key="Key2" value="2" />
  </appSettings>
  
</configuration>


io vorrei modificare quel parametro Key1 ed ho provate in questi modi:

codice HTML:
 ConfigurationSettings.AppSettings.Set(("Key1"), "pippo" & " ")
 My.Settings.Save()
  sAttr = ConfigurationSettings.AppSettings("Key1") ' li legge ad uno ad uno
        Console.WriteLine("The value of Key1: " & sAttr)
se scrivo così nella console vedo il valore pippo, ma nel file di config in lovale rimane ancora il valore iniziale che era 1



se invece aggiungo questa riga :

codice HTML:
  ' ConfigurationSettings.AppSettings.Add(("Key1"), "pippo" & " ")

mi da questo errore:



System.Configuration.ConfigurationErrorsException: 'Configurazione in sola lettura.'



come si risolve questa faccenda ?