【问题标题】:Mono doesn't write settings defaultsMono 不写设置默认值
【发布时间】:2011-02-04 17:33:18
【问题描述】:

这是我的问题。如果我只使用一个 Windows 窗体项目并且在运行它时只调用 - Settings.Default.Save(),Mono 会创建一个 user.config 文件,其中每个设置都具有默认值。很好,到目前为止一切都很好。

但现在我添加了一个从 Windows 窗体项目引用的类库项目,并且我将设置从 Windows 窗体项目移到了类库之一。现在我也这样做了 - Settings.Default.Save() 令我惊讶的是,Mono 为每个设置创建了一个带有 EMPTY 值(不是默认值)的 user.config 文件?!在 Windows 窗体项目或类库中进行设置有什么区别?顺便说一句,这不是操作系统问题。这是一个 Mono 问题,因为它在 Windows 和 Linux 下都不起作用。如果我不使用 Mono,一切都很好,但我必须将我的应用程序移植到 Linux,所以我必须使用 Mono。我真的很沮丧,它正在阻止一个项目:(

编辑:如果我在调用Settings.Default.Save() 之前写Settings.Default.Font = Settings.Default.Font;,那么它工作正常。这是什么?!

提前感谢您的任何建议。

问候, 佩塔尔

【问题讨论】:

标签: c# mono settings


【解决方案1】:

来自单声道开发人员“如果有人提交错误,我可以或多或少地尽快修复它;-)”。它看起来像一个微不足道的修复,只需将上述所有信息提交到http://bugzilla.novell.com,有人将能够查看它。如果您包含一个小测试用例来演示理想的错误,因为可以将其添加到测试套件中以防止再次破坏。

【讨论】:

  • 好的,我会尽快提交错误报告。
【解决方案2】:

好的,如果其他人遇到这个可怕的问题,我设法以这种方式解决它:

Settings.Default.MySetting1 = Settings.Default.MySetting1;
Settings.Default.MySetting2 = Settings.Default.MySetting2;
.........................................................
Settings.Default.MySettingN = Settings.Default.MySettingN;

我在应用程序启动时执行此代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-14
    • 2010-09-23
    • 2015-03-13
    • 2014-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多