Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Mono doesn't write settings defaults

Tags:

c#

mono

settings

Here is my problem. If I use only one Windows Forms project and call only - Settings.Default.Save() when running it, Mono creates a user.config file with the default value for each setting. It is fine, so far so good.

But now I add a class library project, which is referenced from the Windows Forms project and I move the settings from the Windows Forms project to the Class Library one. Now I do the same - Settings.Default.Save() and to my great surprise, Mono creates a user.config file with EMPTY values(NOT the default ones) for each setting?! What's the difference between having the settings in the Windows Forms Project or in the class library one? And by the way it is not a operating system issue. It is a Mono issue, because it doesn't work both under Windows and Linux. If I don't use Mono everything is fine, but I have to port my application to Linux, so I have to use Mono. I am really frustrated, it is blocking a project:(

Edit: If I write Settings.Default.Font = Settings.Default.Font; before calling the Settings.Default.Save(), then it is working properly. What is this?!

Thanks in advance for any suggestion you have.

Regards, Petar

like image 459
Petar Minchev Avatar asked Apr 06 '10 08:04

Petar Minchev


1 Answers

OK, in case someone else enters into this dreadful issue, I managed to workaround it this way:

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

I execute this code when my application is starting.

like image 100
Petar Minchev Avatar answered Nov 10 '22 15:11

Petar Minchev