【问题标题】:Windows Forms User Settings in C# getting lostC# 中的 Windows 窗体用户设置丢失
【发布时间】:2014-03-27 12:50:28
【问题描述】:

我想将设置永久保存在 exe 文件中

我用这个代码

Settings.Default.WindowSize = this.Size;

Settings.Default.Save();

如果文件路径更改所有设置都丢失,我会遇到一个大问题。 就像如果您将 exe 放在闪存驱动器上,然后将其放在不同的 PC 中,则设置消失了。

有没有办法解决这个问题。或者我可以使用其他设置/参数吗?

【问题讨论】:

  • 它们不会保存到 EXE 中,它们会保存到 user.config 文件中,该文件存储在具有哈希名称的目录中。在用户的 AppData 目录中,它当然不会与您的闪存驱动器一起移动。窗口大小也不适用于另一台机器。您需要重新考虑这一点。

标签: c# settings


【解决方案1】:

您不能将设置保存在 exe 文件中。 Settings.Default.Save() 不会将设置保存到 exe 文件中。这就是配置文件的用途。如果您想随身携带设置,请同时复制配置文件。

当然,在 exe 文件旁边保存配置已经过时,被认为是不好的做法,更不用说不安全了(并且 Vista+ 不允许您在没有 Program files 内的管理员权限的情况下执行此操作)。配置将在您的用户文件夹中结束,因此不会影响应用程序的其他用户。

【讨论】:

    【解决方案2】:

    您可以使用注册表,但这仅在您将 EXE 移动到单台计算机上时才有用。最好的是 Luann 的回答,复制随附的配置文件。

    纯粹的可移动 EXE 会将其设置“存储在云端”

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多