2015-08-21 56 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(); 你一定會得到新的結果。