当我尝试使用新添加的应用程序设置时,c# WPF应用程序无法编译

本文关键字:应用程序 设置 WPF 编译 新添加 添加 | 更新日期: 2023-09-27 18:13:06

当我试图在代码中使用最近添加的应用程序设置时,我编写的WPF应用程序将不再编译。我可以在设置设计器和应用配置中看到设置,如果我注释掉对设置的引用,则会编译。

新设置旨在存储一个日期,通知它在最小化时何时显示气球提示。似乎任何新添加的设置都会破坏构建,无论它是什么类型。

是否有添加我不知道的新设置的步骤?

是这样的:

//designer, pretty much the same as all the other declarations:
[global::System.Configuration.UserScopedSettingAttribute()]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
public global::System.DateTime BaloonLastSeen {
   get {
      return ((global::System.DateTime)(this["BaloonLastSeen"]));
   }
   set {
       this["BaloonLastSeen"] = value;
   }
}
<!-- app.config: -->
<userSettings>
    <MyNS.MyApp>
        <setting name="WindowState" serializeAs="String">
            <value>-1</value>
        </setting>
        <setting name="BaloonLastSeen" serializeAs="String">
            <value />
        </setting>
    </MyNS.MyApp>
</userSettings>
//and finally, my attempt to use it in code-behind:
System.DateTime baloon = Properties.Settings.Default.BaloonLastSeen;

通过Properties.Settings.Default调用其他属性工作得很好,它只是最近添加的那些似乎被绊倒了。我试过清理和重建,甚至重新启动Visual Studio,但似乎没有帮助。

另一个信息是,试图调用这个属性会破坏智能感知。在尝试构建失败后,VS将不再检测类型或成员名,因为我正在输入,直到我重新启动。

下面是编译器说的错误:

Error   31  'MyNS.MyApp.Properties.Settings' does not contain a definition for 'BaloonLastSeen' and no extension method 'BaloonLastSeen' accepting a first argument of type 'MyNS.MyApp.Properties.Settings' could be found (are you missing a using directive or an assembly reference?)

我做了什么!?

当我尝试使用新添加的应用程序设置时,c# WPF应用程序无法编译

当我抓住稻草时,对我来说唯一看起来有点不协调的方面是MyNS。在app.config中的MyApp标签,我认为应该是MyNS.MyApp.Properties.Settings,例如

<!-- app.config: -->
<userSettings>
    <MyNS.MyApp.Properties.Settings>
        <setting name="WindowState" serializeAs="String">
            <value>-1</value>
        </setting>
        <setting name="BaloonLastSeen" serializeAs="String">
            <value />
        </setting>
    </MyNS.MyApp.Properties.Settings>
</userSettings>