2010-04-06 14 views
5

Hier ist mein Problem. Wenn ich nur ein Windows Forms-Projekt verwende und bei der Ausführung nur Settings.Default.Save() aufruft, erstellt Mono eine user.config-Datei mit dem Standardwert für jede Einstellung. Es ist in Ordnung, so weit so gut.Mono schreibt keine Standardeinstellungen

Jetzt aber füge ich ein Klassenbibliotheksprojekt hinzu, das aus dem Windows Forms-Projekt referenziert wird, und ich verschiebe die Einstellungen aus dem Windows Forms-Projekt in die Klassenbibliothek. Jetzt mache ich das gleiche - Settings.Default.Save() und zu meiner großen Überraschung, Mono erstellt eine user.config Datei mit leeren Werten (nicht die Standardwerte) für jede Einstellung ?! Was ist der Unterschied zwischen den Einstellungen im Windows Forms-Projekt oder in der Klassenbibliothek? Und es ist übrigens kein Betriebssystemproblem. Es ist ein Mono-Problem, weil es nicht sowohl unter Windows als auch unter Linux funktioniert. Wenn ich Mono nicht verwende, ist alles in Ordnung, aber ich muss meine Anwendung nach Linux portieren, also muss ich Mono verwenden. Ich bin wirklich frustriert, ist es ein Projekt blockiert :(

Edit: Wenn ich Settings.Default.Font = Settings.Default.Font; schreiben, bevor die Settings.Default.Save() Aufruf, dann ist es gut funktioniert Was ist der ?!

Vielen Dank im Voraus für jede Anregung Sie haben. .

Grüße, Petar

+0

Das sieht wie ein Fehler aus, bitte melden Sie einen Fehlerbericht unter https://bugzilla.novell.com/index.cgi – Dykam

Antwort

1

OK, sonst falls jemand in dieser schrecklichen Frage kommt, schaffte ich es auf diese Weise zu umgehen:

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

Ich führe diesen Code aus, wenn meine Anwendung gestartet wird.

0

Von einem Mono-Entwickler "wenn jemand einen Fehler eingibt, kann ich ihn mehr oder weniger bald beheben ;-)". Es sieht wie ein trivialer Fix aus, einfach alle oben genannten Informationen unter http://bugzilla.novell.com einreichen und jemand wird es sich ansehen können. Wenn Sie einen kleinen Testfall hinzufügen, der den Fehler zeigt, der ideal wäre, da er zur Testsuite hinzugefügt werden kann, um zu verhindern, dass dieser Fehler jemals wieder auftritt.

+0

OK, ich werde einen Fehlerbericht so schnell wie möglich einreichen. –

+0

Filed einen Fehlerbericht. –

+0

Danke für den Fehlerbericht :) – Monoman

Verwandte Themen