我有一个.settings文件(包含用户和应用程序设置),如果在调试模式下构建,我希望包含不同的值。是否有支持或推荐的方法来执行此操作?
答案 0 :(得分:1)
我为每种模式使用两个单独的配置文件。我将文件复制到POST-BUILD事件中的BIN文件夹中。
答案 1 :(得分:1)
Settings.Designer.cs文件不包含值,仅包含应用程序设置属性声明。值分别存储。应用程序设置值进入app.exe.config文件,用户范围设置值进入appdata文件夹,该文件夹具有由散列算法生成的名称。你只会遇到后者的问题。无论如何,将Release版本部署到计算机时,该文件将不存在。
如果您的意思是“我可以更改默认值”,那么答案是:当您使用设置设计器时。您必须将设置移动到单独的类中。使它看起来类似于:
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文件中使用的名称相匹配,并从“设置”页面中删除该设置。