2015-08-21 29 views
1

我遇到了加载/保存应用程序设置的问题。我保存设置这样用户设置未加载/保存

string value = "test"; 
    Properties.Settings.Default.test1 = value; 
    Properties.Settings.Default.Save(); 

它的工作原理,如果我加载设置,而程序仍在运行,但每当我关闭应用程序并启动它再次保存的值了。

string savedValue = Properties.Settings.Default.test1; 

我试过保存后刷新,但似乎没有帮助。

但是,我发现存储设置的位置(Appdata \ Local),并且该值确实显示在那里,但未加载。

+0

在调试/发布模式下使用的设置文件不会相同。当你运行它独立或VS时也是如此。 – Micke

+0

Settings.settings文件是否显示在属性文件夹下的解决方案中? – SwDevMan81

+0

@ SwDevMan81Yes。 – Zero

回答

0

这是如何完成的。如果您的代码不起作用,请尝试创建一个MCVE以启用进一步的调试。

namespace ConsoleApplication5 
{ 
    using System; 

    class Program 
    { 
     static void Main(string[] args) 
     { 
      Console.WriteLine("This should be blank on first run, but not on subsequent: {0}", Properties.Settings.Default.test1); 

      string value = "test"; 

      Properties.Settings.Default.test1 = value; 

      Properties.Settings.Default.Save(); 
     } 
    } 
} 

通#1:

This should be blank on first run, but not on subsequent: 
Press any key to continue . . . 

通#2:

This should be blank on first run, but not on subsequent: test 
Press any key to continue . . . 
+2

这是我正在做的,但它会给我一个空字符串。 – Zero

+2

同样的问题在这里...更重要的是,一些字符串设置被保存,有些不是。始终如一。我真的很困惑。 – bovender

+2

在IDE中打开文件user.config,在执行'Properties.Settings.Default.Save()'时,系统会提示重新加载它,即文件正在写入磁盘,但不包括所有值。 – bovender

0

我是一个WPF开发者,所以深信Properties.Settings使用时一定要省电

Properties.Settings.Default.Save(); 

或者

Properties.Settings settings= new Properties.Settings(); 
settings.YourParameter=true; 
settings.Save(); 

如果你没有得到在设置更新后的值,那么你首先使用 设置=新Properties.Settings(); 你一定会得到新的结果。