Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/324.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用户设置未加载/保存_C#_Settings_Application Settings - Fatal编程技术网

C# 用户设置未加载/保存

C# 用户设置未加载/保存,c#,settings,application-settings,C#,Settings,Application Settings,我在加载/保存应用程序设置时遇到此问题。我正在像这样保存设置 string value = "test"; Properties.Settings.Default.test1 = value; Properties.Settings.Default.Save(); 如果我在程序仍在运行时加载设置,它就会工作,但每当我关闭应用程序并再次启动时,保存的值就会消失 string savedValue = Properties.Settings.Default.test

我在加载/保存应用程序设置时遇到此问题。我正在像这样保存设置

    string value = "test";
    Properties.Settings.Default.test1 = value;
    Properties.Settings.Default.Save();
如果我在程序仍在运行时加载设置,它就会工作,但每当我关闭应用程序并再次启动时,保存的值就会消失

    string savedValue = Properties.Settings.Default.test1;
我在储蓄后尝试过提神,但似乎没有帮助


但是,我发现设置存储在哪里(Appdata\Local),值确实显示在那里,但没有加载。

就是这样做的。如果您的代码无法工作,请尝试创建以启用进一步调试

namespace ConsoleApplication5
{
    using System;

    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("This should be blank on first run, but not on subsequent: {0}", Properties.Settings.Default.test1);

            string value = "test";

            Properties.Settings.Default.test1 = value;

            Properties.Settings.Default.Save();
        }
    }
}

通过#1:

This should be blank on first run, but not on subsequent:
Press any key to continue . . .
This should be blank on first run, but not on subsequent: test
Press any key to continue . . .
通过#2:

This should be blank on first run, but not on subsequent:
Press any key to continue . . .
This should be blank on first run, but not on subsequent: test
Press any key to continue . . .

我是一个WPF开发人员,所以我确信属性。设置在使用时一定会保存

Properties.Settings.Default.Save();

如果在“设置”中未获得更新的值,则首先使用 设置=新属性。设置();
您肯定会得到新的结果。

在调试/发布模式下使用的设置文件将不同。单独运行或在VS中运行时也是如此。Settings.Settings文件是否显示在“属性”文件夹下的解决方案中?@Mike我是在调试模式下构建的,但我不是通过调试器运行它。只要运行完全相同的应用程序,它就应该可以工作。也就是说,您无法在调试器中保存设置并尝试在外部读取它,而不是从另一个线程访问设置?这是我正在做的,但它会给我一个空字符串。这里也有同样的问题。。。此外,有些字符串设置已保存,有些未保存。一贯地我真的很困惑。在IDE中打开user.config文件后,当执行
Properties.Settings.Default.Save()
时,系统会提示我重新加载它,也就是说,该文件正在写入磁盘,但不包括所有值。是否将作用域设置为user?无法在运行时更改应用程序设置。