I have problems with saving user settings on Mono (Ubuntu). Here is code sample:
private void Form1_Load(object sender, EventArgs e)
{
string savedText = Properties.Settings.Default.tbText.ToString();
tbInput.Text = savedText;
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
string textToSave = tbInput.Text;
Properties.Settings.Default.tbText = textToSave;
Properties.Settings.Default.tbText = Properties.Settings.Default.tbText;
Properties.Settings.Default.Save();
}
But i receive only empty config like
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<userSettings />
</configuration>
I've already tried something like
Properties.Settings.Default.tbText = Properties.Settings.Default.tbText;
from here. But still get same result. How can I use settings in Mono?
Remove line
Properties.Settings.Default.tbText = Properties.Settings.Default.tbText;
Check you application config file. Probably you have something like this:
<configuration>
<configSections>
<sectionGroup name="userSettings"
type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ExampleApp.Properties.Settings"
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
...
<appSettings>
<add key="TestKey1" value="Test1" />
<add key="TestKey2" value="Test2" />
</appSettings>
...
<userSettings>
<ExampleApp.Properties.Settings>
<setting name="textBox1" serializeAs="String">
<value />
</setting>
</ExampleApp.Properties.Settings>
</userSettings>
</configuration>
Remove sectionGroup for userSettings.
<sectionGroup name="userSettings"
type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="ExampleApp.Properties.Settings"
type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
Remove also section userSettings.
<userSettings>
...
</userSettings>
Delete your local user.config. After first run it will be recreated correctly.
It should work
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With