Mono不会写设置默认值

时间:2010-04-06 08:47:17

标签: c# mono settings

这是我的问题。如果我只使用一个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.Font = Settings.Default.Font;之前写Settings.Default.Save(),那么它正常工作。这是什么?!

提前感谢您的任何建议。

此致 斯托

2 个答案:

答案 0 :(得分:1)

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

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

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

答案 1 :(得分:0)

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