1

我有一个 .settings 文件(包含用户和应用程序设置),如果在调试模式下构建,我想包含不同的值。是否有支持或推荐的方法来执行此操作?

4

2 回答 2

1

我为每种模式使用两个单独的配置文件。我将文件复制到 POST-BUILD 事件中的 BIN 文件夹中。

于 2010-05-03T16:00:31.950 回答
1

Settings.Designer.cs 文件不包含值,仅包含应用程序设置属性声明。这些值单独存储。应用程序设置值进入 app.exe.config 文件,用户范围的设置值进入 appdata 文件夹,该文件夹的名称由散列算法生成。你只会遇到后者的麻烦。没关系,当您将发布版本部署到机器时,该文件将不存在。

如果您的意思是“我可以更改默认值”,那么答案是:不是在您使用设置设计器时。您必须将设置移动到单独的类中。让它看起来像这样:

using System;
using System.Configuration;
using System.Diagnostics;

namespace ConsoleApplication1.Properties {
    internal partial class Settings {
        [UserScopedSetting, DebuggerNonUserCode]
#if DEBUG
        [DefaultSettingValue("debug value")]
#else
        [DefaultSettingValue("release value")]
#endif
        public string Setting {
            get {
                return ((string)(this["Setting"]));
            }
            set {
                this["Setting"] = value;
            }
        }

    }
}

确保命名空间名称与 Settings.Designer.cs 文件中使用的名称匹配,并确保从“设置”页面中删除该设置。

于 2010-05-03T16:21:51.290 回答