Я пишу приложение (что-то вроде блокнота) на C #. Я использую Properties.Settings
класс для сохранения пользовательских настроек. Он работал нормально, пока внезапно не начал показывать это сообщение об исключении в любое время, когда я пытаюсь запустить его.
Configuration system failed to initialize
Я заметил, что ошибка произошла из этой части кода:
private void TextPad_Load(object sender, EventArgs e)
{
rtbText.WordWrap = Properties.Settings.Default.WordWrap;
rtbText.Font = Properties.Settings.Default.DefFont;
rtbText.ForeColor = Properties.Settings.Default.ForeColor;
rtbText.BackColor = Properties.Settings.Default.BackColor;
if (Properties.Settings.Default.ShowLast)
{
OpenLocalFile(Properties.Settings.Default.LastFile);
}
// There are other lines which are not relevant to this question
}
Я переместил предположительно строки в конструктор формы сразу после InitializeComponent();
, но все еще получаю ту же ошибку.
На самом деле компилятор сообщает, что ошибка происходит из-за этого в Settings.Designer.cs:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("False")]
public bool WordWrap {
get {
return ((bool)(this["WordWrap"]));
}
set {
this["WordWrap"] = value;
}
Если я удаляю rtbText.WordWrap = Properties.Settings.Default.WordWrap;
из TextPad_Load
, он показывает
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Configuration.DefaultSettingValueAttribute("Consolas, 9.75pt")]
public global::System.Drawing.Font DefFont {
get {
return ((global::System.Drawing.Font)(this["DefFont"]));
}
set {
this["DefFont"] = value;
}
Единственное решение сейчас - либо удалить эти строки из TextPad_Load
(что делает идею загрузки пользовательских настроек бесполезным), либо начать новый проект (что я и сделал, во всяком случае). Может кто-нибудь объяснить, что означает сообщение об исключении, и, возможно, я смогу найти решение (в случае, если я столкнусь с ним снова)? Microsoft VS Help не дает мне ничего осязаемого.
Спасибо