代码之家  ›  专栏  ›  技术社区  ›  Petar Minchev

Mono不写入设置默认值

  •  6
  • Petar Minchev  · 技术社区  · 14 年前

    这是我的问题。如果我只使用一个Windows窗体项目并且只调用- Settings.Default.Save() 当运行它时,mono会创建一个user.config文件,其中每个设置都有默认值。很好,到目前为止还不错。

    但是现在我添加了一个类库项目,它是从Windows窗体项目引用的,我将设置从Windows窗体项目移动到类库项目。现在我也这么做了- 设置。默认值。保存() 令我吃惊的是,mono为每个设置创建了一个带有空值(不是默认值)的user.config文件?!在Windows窗体项目或类库项目中进行设置有什么区别?顺便说一下,这不是操作系统的问题。这是一个单一的问题,因为它不能同时在Windows和Linux下工作。如果我不使用mono,一切都很好,但是我必须将我的应用程序移植到Linux,所以我必须使用mono。我真的很沮丧,它阻碍了一个项目:(

    编辑:如果我写 Settings.Default.Font = Settings.Default.Font; 在呼叫 设置。默认值。保存() ,然后它正常工作。这是什么?!

    事先谢谢你的任何建议。

    当做, 佩塔尔

    2 回复  |  直到 14 年前
        1
  •  1
  •   Petar Minchev    14 年前

    好吧,如果有人涉及到这个可怕的问题,我设法用这种方式解决了它:

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

    我在应用程序启动时执行此代码。

        2
  •  0
  •   Alan    14 年前

    从Mono开发人员那里,“如果有人提交了一个bug,我可以或多或少地尽快修复它;-)”。它看起来像是一个小补丁,只需将上述所有信息归档到 http://bugzilla.novell.com 有人可以看一下。如果您包含一个小的测试用例,它演示了一个非常理想的bug,因为它可以添加到测试套件中,以防止这个bug再次崩溃。