2017-06-07 90 views
0

我想在兩個會話之間保存設置。C#屬性不會保存

我改變了值,保存它,關閉程序,它仍然是舊的...爲什麼?

int test = Properties.Settings.Default.mode; 
     System.Console.WriteLine(test); 
     Properties.Settings.Default.mode = 1; 
     Properties.Settings.Default.Save(); 
     test = Properties.Settings.Default.mode; 
     System.Console.WriteLine(test); 

XML:

<userSettings> 
    <PyControl.Properties.Settings> 
     <setting name="mode" serializeAs="String"> 
      <value>0</value> 
     </setting> 
    </PyControl.Properties.Settings> 
</userSettings> 

回答

0

也許你發現在錯誤的地方設置文件?它不在你的bin文件夾中。

你的應用程序將在 %一個設置文件夾中USERPROFILE%\應用程序數據\本地或%USERPROFILE%\本地 設置\應用數據取決於你 運行的Windows版本,是用戶設置具體。如果您爲所有用戶存儲設置 ,那麼它們將位於所有用戶配置文件(例如: C:\ users \ public \ appdata \ local)下的 C:\ users或C:\ Documents and Settings下的相應文件夾中。 。

編號:Where are the Properties.Settings.Default stored?

編輯:

,如果你不使用Windows物聯網假設,嘗試~/.config/{AppName}/user.config?我不在RPi上編寫C#,但上面的鏈接提到了這個文件夾。 - 如果不在這裏,我很抱歉,我不能提供進一步的幫助:(

+0

即時通訊運行在樹莓... Program.exe.config存儲在相同的文件夾.. –

+0

用戶設置沒有得到保存在'Program.exe.config'文件中 - 用戶通常沒有寫入該文件的權限,它們被保存在用戶有權寫入的相似命名文件中(根據鏈接的問題) 。 –

+0

@DanielBucher假設您不使用Windows IoT,請嘗試使用'〜/ .config/{AppName}/user.config'? –