You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VS2022中WPF/.NET Core应用设置设计器缺失Browse按钮的解决咨询

VS2022设置设计器Browse按钮缺失及自定义类型设置方案

官方结论

Visual Studio 2022社区版中,设置设计器「Type」列下拉框底部的「Browse」按钮已被移除,这属于官方的「By Design」(设计如此)决策。该功能仅在VS2019及更早版本中保留,目前官方未提供替代的可视化选择入口。

手动配置自定义类型设置的方法

直接修改自动生成的Settings.Designer.cs文件会被VS自动还原,正确的做法是修改Settings.settings的XML内容,步骤如下:

  1. 准备自定义类型
    确保你的自定义类型(比如枚举UiTheme)是公共可访问的,枚举默认支持序列化,无需额外标记;如果是复杂类,需标记[Serializable]或实现数据契约序列化。

  2. 编辑Settings.settings的XML内容
    在解决方案资源管理器中找到Properties/Settings.settings文件,右键选择「打开方式」→「XML(文本)编辑器」,修改对应设置项的配置:

    <userSettings>
        <GameBoxer.WPF.Properties.Settings>
            <setting name="UiTheme" type="GameBoxer.WPF.UiTheme" serializeAs="String">
                <value>Light</value>
            </setting>
        </GameBoxer.WPF.Properties.Settings>
    </userSettings>
    
    • type属性填写自定义类型的完整命名空间+类型名
    • serializeAs对于枚举选String即可,保存枚举名称字符串,读取时自动转换为枚举值;复杂类型可根据需求选Xml或Binary
  3. 保存并验证
    保存XML文件后,VS会自动更新Settings.Designer.cs,生成强类型的属性:

    [global::System.Configuration.UserScopedSettingAttribute()]
    [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
    [global::System.Configuration.DefaultSettingValueAttribute("Light")]
    public global::GameBoxer.WPF.UiTheme UiTheme {
        get {
            return ((global::GameBoxer.WPF.UiTheme)(this["UiTheme"]));
        }
        set {
            this["UiTheme"] = value;
        }
    }
    

注意事项

  • 绝对不要手动修改Settings.Designer.cs,该文件由VS自动维护,所有手动修改都会被覆盖
  • 自定义类型必须在当前项目或已引用的程序集中,确保VS能找到该类型
  • 若使用复杂自定义类型,需确保类型支持对应的序列化方式,否则会出现配置读取失败的问题

内容的提问来源于stack exchange,提问作者stigzler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 19:40:27