Mono не записывает настройки по умолчанию

Здесь моя проблема. Если я использую только один проект Windows Forms и звоню только - Settings.Default.Save() при запуске Mono создает файл user.config со значением по умолчанию для каждого параметра. Это хорошо, пока все хорошо.

Но теперь я добавляю проект библиотеки классов, на который ссылается проект Windows Forms, и перемещаю настройки из проекта Windows Forms в проект библиотеки классов. Теперь я делаю то же самое - Settings.Default.Save() и, к моему большому удивлению, Mono создает файл user.config со значениями EMPTY (НЕ значениями по умолчанию) для каждого параметра?! В чем разница между настройками в проекте Windows Forms или в библиотеке классов? И, кстати, это не проблема операционной системы. Это проблема Mono, потому что она не работает как в Windows, так и в Linux. Если я не использую Mono, то все в порядке, но я должен перенести свое приложение на Linux, поэтому я должен использовать Mono. Я действительно расстроен, это блокирует проект:(

Изменить: если я напишу Settings.Default.Font = Settings.Default.Font; перед вызовом Settings.Default.Save()тогда он работает нормально. Что это?!

Заранее спасибо за любые предложения, которые у вас есть.

С уважением, Петар

2 ответа

Решение

Хорошо, в случае, если кто-то еще вступает в эту ужасную проблему, мне удалось обойти ее следующим образом:

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

Я выполняю этот код при запуске приложения.

От моно-разработчика "если кто-то сообщит об ошибке, я могу исправить это более или менее скоро;-)". Это похоже на тривиальное исправление, просто отправьте всю вышеуказанную информацию на http://bugzilla.novell.com/ и кто-нибудь сможет взглянуть на нее. Если вы включите небольшой тестовый пример, который демонстрирует идеальную ошибку, так как ее можно добавить в набор тестов, чтобы предотвратить повторение этой ошибки.

Другие вопросы по тегам