【问题标题】:change the settings file items in .Net console application更改 .Net 控制台应用程序中的设置文件项
【发布时间】:2015-06-19 07:06:53
【问题描述】:

我试图更改我的控制台应用程序希望在每次执行时设置和使用的一些设置。

1) 添加了一个名为 InputSettings 的 .settings 文件。

2) 增加了 Scope:User 的两项。

3) 像这样更改代码:

private projAPI.InputSettings settings = new InputSettings();
settings.publishEndDate = DateTime.Now;
settings.Save();

它不会对设置文件进行任何更改,但是每次我运行一个项目时,当我跟踪该行时设置都会更改。

我有什么错误吗?

【问题讨论】:

  • 您需要提供更多信息。我们不知道 InputSettings 是如何工作的(projAPI似乎是您项目中的命名空间)。你可以看看InputSettings.Save() 方法背后的代码。

标签: c# .net settings application-settings savechanges


【解决方案1】:

用户设置存储在不同的文件中。见this question

如果您想以编程方式获取路径,您可以使用配置管理 API 来实现(您需要添加对 System.Configuration.dll 的引用)。例如,以下是获取本地 user.config 文件路径的方法:

Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.PerUserRoamingAndLocal);
Console.WriteLine("Local user config path: {0}", config.FilePath);

MSDN Documentation 列出了一些有关如何使用应用程序和用户设置的示例。

例如How To: Write User Settings at Run Time with C#

访问设置并为其分配一个新值,如下例所示:

Properties.Settings.Default.myColor = Color.AliceBlue;

如果您想在应用程序会话之间保留对设置的更改,请调用 Save 方法,如下例所示:

Properties.Settings.Default.Save();

【讨论】:

  • 以及如何在新路径中保存/获取值?
  • 您实际上不需要知道文件的位置来存储和检索设置。我只是想向您展示用户设置在用户的 AppData 文件夹中有自己的文件(以便为不同的用户设置不同的值)。有关于如何使用设置的示例here。例如:How To: Write User Settings at Run Time with C#
  • 我试过和上面的链接完全一样。但没有保存设置。
猜你喜欢
  • 2010-09-15
  • 2010-09-11
  • 2010-11-04
  • 1970-01-01
  • 1970-01-01
  • 2016-12-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多