Avatar billede oddi Nybegynder
18. april 2010 - 13:39 Der er 4 kommentarer og
1 løsning

opdatere app.config

Hej Eksperter.

Jeg har nogle smaa problemer med app.config. Jeg bruger Express 2008 og jeg har laver min app.config i: Project -> project Properties, og saa vælger jeg Settings fane bladet. Der har jeg nogle user settings som jeg læser fra og gerne vil skrive til...

Ved læsning goer jeg foelgende:

string path = Properties.Settings.Default.rootPath;

Dette virker... Men naar jeg vil skrive en ny værdi ind i denne settings virker det ikke, jeg skriver til app.config paa foelgende maade:

Properties.Settings.Default.rootPath = path;
Properties.Settings.Default.Save();

Men app.config og project.exe.config bliver ikke opdateret med den nye path... i.e naar jeg aabner app.config i notepad er den nye værdi ikke gemt.

Har jeg misforstaaet noget? Hvad goer jeg galt ?

Mvh
Oddi
Avatar billede arne_v Ekspert
18. april 2010 - 16:07 #1
Har du checket om ikke foobar.exe.config i bin\debug bliver opdateret men bliver overskrevet af app.config naar du starter programmet igen?
Avatar billede oddi Nybegynder
18. april 2010 - 16:51 #2
Ja det har jeg tjekket, hverken app.config, foobar.exe.config eller foobar.vshost.exe.config bliver ændret.

Datoen og tid (for sidst ændret) paa alle de overnævnte filer bliver heller ikke ændret.
Avatar billede arne_v Ekspert
18. april 2010 - 17:19 #3
Det her eksempel virker ihvertfald:

using System;
using System.Configuration;

namespace E
{
    public class Program
    {
        public static string GetConStr(string con)
        {
            return ConfigurationManager.ConnectionStrings[con].ConnectionString;
        }
        public static void SetConStr(string con, string constr)
        {
            Configuration cfg = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
            cfg.ConnectionStrings.ConnectionStrings[con].ConnectionString = constr;
            cfg.Save(ConfigurationSaveMode.Modified); 
            ConfigurationManager.RefreshSection("connectionStrings");             
        }
        public static void Main(string[] args)
        {
            Console.WriteLine(GetConStr("Test"));
            SetConStr("Test", "bla bla bla");
            Console.WriteLine(GetConStr("Test"));
        }
    }
}
Avatar billede oddi Nybegynder
18. april 2010 - 17:37 #4
Mange tak arne_v, nu fik jeg det til at virke. Smid et svar
Avatar billede arne_v Ekspert
18. april 2010 - 17:47 #5
ok
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester