Невозможно сохранить пользовательский раздел конфигурации в app.config - PullRequest
4 голосов
/ 14 июля 2011

Я пытаюсь сохранить пользовательский раздел в моем app.config.Это код, который у меня есть:

            Configuration configuration =     ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

            //Read the TunnelSection from the configuration file
            TunnelSection tunnels = ConfigurationManager.GetSection("TunnelSection") as TunnelSection;


            HostConfigElement newhost = new HostConfigElement();

            newhost.Password = "hola";
            newhost.SSHPort = 22;
            newhost.SSHServerHostname = "holahola";

            TunnelConfigElement newtunnel = new TunnelConfigElement();

            newtunnel.LocalPort = 12;
            newtunnel.RemotePort = 12;
            newtunnel.Name = "12";
            newtunnel.DestinationServer = "12";

            TunnelCollection newtunnelcollection = new TunnelCollection();

            newtunnelcollection.Add(newtunnel);

            newhost.Tunnels = newtunnelcollection;

            tunnels.Tunnels.Add(newhost);             

            ConfigurationManager.RefreshSection("TunnelSection");

            configuration.Save(ConfigurationSaveMode.Full);

Проблема в том, что файл конфигурации не изменяется.Если я перебираю TunnelSection, я вижу, что новый хост добавлен.

Чтобы исключить проблемы с разрешениями, я попытался добавить параметр к настройкам приложения, например:

configuration.AppSettings.Settings.Add("hola", "hola");

, и это прекрасно работает.

Я также пытался сохранить, но безрезультатно.

Есть идеи?ТИА

1 Ответ

1 голос
/ 14 июля 2011

Системные настройки не могут быть изменены, но пользовательские настройки могут быть.Пользовательские настройки не сохраняются в каталоге приложения, но сохраняются в / appData //.Пожалуйста, проверьте в этом месте

...