【问题标题】:C# user settings resetsC# 用户设置重置
【发布时间】:2016-03-12 21:06:26
【问题描述】:

我尝试在我的应用程序上保存用户设置属性,只要我从同一目录运行程序,它就会更新和工作,但是当我只是更改它的位置时,似乎属性重置了。 这是我的代码:

   static void Main(string[] args)
    {

        string user = Properties.Settings.Default.username;
        string pass = Properties.Settings.Default.password;
        Console.WriteLine(user);
        if (string.IsNullOrEmpty(user) || string.IsNullOrEmpty(pass))
        {
            Console.WriteLine("Welcome to KeepOnGoing , lets sign-up.");
            Console.ForegroundColor = ConsoleColor.Red;
            Console.WriteLine("Remember,you may sign up only once! Once you'll sign up you get a unique account which cannot be made again!");
            Console.ForegroundColor = ConsoleColor.White;
            Console.WriteLine("Enter your new username : ");
            user = Console.ReadLine();
            Console.WriteLine("Enter your new Password : ");
            pass = Console.ReadLine();
            Properties.Settings.Default.username = user;
            Properties.Settings.Default.password = pass;
            Properties.Settings.Default.Save();
        }
    }

如您所见,我创建了一个if 条件来检查用户是否第一次填写数据,否则我将不得不向他显示注册部分。 如何防止属性重置并使其在整个计算机目录中通用? 谢谢。

【问题讨论】:

  • 您是否尝试从 ProgramData/ 保存/加载设置?
  • @Uzzy 从程序数据加载设置是什么意思?
  • 决定设置文件位置的部分原因是应用程序的路径。您可以手动保存到 Users/AppData 中的文件,以便每个用户拥有一个文件,但他们可以删除它以重新开始
  • @Slashy 您使用 .exe 文件附近的位置。如果您将保存/加载到像 ProgramData/ 这样的公共位置,那么您将解决问题。例如,参见 System.Environment.SpecialFolder.CommonApplicationData msdn.microsoft.com/en-us/library/…
  • @Uzzy 好吧,所以您的意思是将用户设置保存到一个特殊文件夹?例如桌面?如果是,如何更改属性位置?如何每次从该特定位置加载它?

标签: c# properties io


【解决方案1】:

这些设置存储在 [YourProgramName].exe.config 中。当您切换目录时,请确保包含您保存的用户设置的 *.exe.config 文件也被复制到新目录。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-17
    • 2012-07-28
    • 1970-01-01
    • 2015-04-02
    • 2011-02-23
    • 1970-01-01
    • 2020-12-16
    • 2013-05-21
    相关资源
    最近更新 更多