2016-05-18 19 views
1

我在保存Mono(Ubuntu)上的用户设置时遇到问题。下面是代码示例:单声道无法保存用户设置

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(); 
} 

但我只收到空的配置一样

<?xml version="1.0" encoding="utf-8"?> 
<configuration> 
    <userSettings /> 
</configuration> 

我已经尝试过类似

Properties.Settings.Default.tbText = Properties.Settings.Default.tbText; 

东西从here。但仍然得到相同的结果。我如何在Mono中使用设置?

回答

1
  1. 删除线

    Properties.Settings.Default.tbText = Properties.Settings.Default.tbText; 
    
  2. 检查你的应用程序配置文件。也许你有这样的事情:

    <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> 
    

    删除sectionGroup为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> 
    

    删除也部分userSettings

    <userSettings> 
        ... 
    </userSettings> 
    
  3. 删除您的本地user.config。第一次运行后,它会被正确地重新创建。

    它应该工作