2010-04-06 33 views
5

这是我的问题。如果我仅使用一个Windows Forms项目并且仅在运行时调用 - Settings.Default.Save(),则Mono会为每个设置创建一个具有默认值的user.config文件。这很好,迄今为止非常好。单声道不写设置默认

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

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

预先感谢您有任何建议。 。

问候, 斯托

+0

这看起来像一个bug,请在https://bugzilla.novell.com/index.cgi – Dykam 2010-04-06 10:26:50

回答

1

OK,万一别人进入这个可怕的问题,我设法这样变通办法:

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

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

0

从单声道开发者那里“如果有人提交了一个bug,我可以尽快修复它;-)”。它看起来像一个微不足道的修复,只需在http://bugzilla.novell.com上提供所有上述信息,并且有人可以查看它。如果您包含一个小型测试用例,该测试用例可以显示错误,因为它可以添加到测试套件中,以防再次破坏。

+0

上提交一个bugreport,我会尽快提交一个bug报告。 – 2010-04-06 10:50:10

+0

提交了一个错误报告。 – 2010-04-06 11:19:42

+0

感谢您的错误报告。:) – Monoman 2010-04-06 21:08:53