将设置保存到exe

时间:2012-04-24 19:26:16

标签: c# application-settings settings

我有一个程序,我想将信息存储在一个字符串中。我一直在使用Properties.Setting.Default.STRINGname存储信息,这在我的电脑上工作正常,我可以看到保存的字符串(当我转到应用程序中的设置时)。但是,当我将应用程序带到新PC时,它会丢失字符串。有没有办法能够编辑此信息并将其保存在应用程序中?所以基本上我需要能够将用户设置转换为应用程序设置,但是在运行时之后。

var settings = Properties.Settings.Default;
        settings.H1 = textbox1.text;
        settings.H2 = textbox2.text;

        settings.Save();

3 个答案:

答案 0 :(得分:3)

MSDN explicit says关于此事:

  

应用程序范围的设置只读只能在设计时更改或更改{{1应用程序会话之间的文件。 用户范围的设置,但可以在运行时写入,就像更改任何属性值一样。新值在应用程序会话期间保持不变。您可以通过调用Save方法将更改保留在应用程序会话之间。

为此,应用程序设置将永远不适合您。但是,如果您使用的是用户范围设置,它确实有效,但很快您将应用程序从一台计算机更改为另一台计算机(如您所愿),您将丢失设置,因为它是另一台计算机(另一个用户范围)。

有办法继续拥有相同的设置,你可以做到,至少有两件事:

  • 使用.config文件保存设置(它是XML文件)
  • 使用服务来托管设置,您可以阅读用户是否具有互联网访问权限

你不能做的是

  • 仅使用一个可执行文件,将设置从计算机保存到计算机。

答案 1 :(得分:0)

用户设置的编译方式与应用程序设置不同,因此在编译后无法转换。为什么不用应用程序设置进行编译?

答案 2 :(得分:0)

您使用的代码应保存用户设置。记住,用户设置将保存在用户的数据文件夹中。不在安装应用程序的配置文件中(比如程序文件)。这是通常的路径:

<Profile Directory>\<Company Name>\<App Name>_<Evidence Type>_<Evidence Hash>\<Version>\user.config

See this links form more information