我有一个 .settings 文件(包含用户和应用程序设置),如果在调试模式下构建,我想包含不同的值。是否有支持或推荐的方法来执行此操作?
问问题
446 次
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 回答