这是我的问题。如果我只使用一个 Windows 窗体项目并且在运行它时只调用 - Settings.Default.Save()
,Mono 会为每个设置创建一个具有默认值的 user.config 文件。很好,到目前为止一切顺利。
但现在我添加了一个从 Windows 窗体项目引用的类库项目,并将设置从 Windows 窗体项目移至类库项目。现在我做同样的事情 - Settings.Default.Save()
让我大吃一惊的是,Mono 为每个设置创建了一个包含空值(不是默认值)的 user.config 文件?!在 Windows 窗体项目或类库中进行设置有什么区别?顺便说一句,这不是操作系统问题。这是一个 Mono 问题,因为它在 Windows 和 Linux 下都不起作用。如果我不使用 Mono 一切都很好,但我必须将我的应用程序移植到 Linux,所以我必须使用 Mono。我真的很沮丧,它正在阻止一个项目:(
编辑:如果我在调用 Settings.Default.Save()
之前编写 Settings.Default.Font = Settings.Default.Font;
,那么它会正常工作.这是什么?!
提前感谢您的任何建议。
问候, 佩塔尔
最佳答案
好的,以防其他人遇到这个可怕的问题,我设法通过这种方式解决了它:
Settings.Default.MySetting1 = Settings.Default.MySetting1;
Settings.Default.MySetting2 = Settings.Default.MySetting2;
.........................................................
Settings.Default.MySettingN = Settings.Default.MySettingN;
我在我的应用程序启动时执行此代码。
关于c# - Mono 不写入设置默认值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2583606/