C# 无法保存对properties.settings的更改

C# 无法保存对properties.settings的更改,c#,wpf,app-config,properties.settings,C#,Wpf,App Config,Properties.settings,我第一次尝试在C#WPF项目中使用properties.settings 我有以下代码: Settings.Default.comPort = ""; Settings.Default.baudRate = 9600; Settings.Default.startUp = false; Settings.Default.taskBar = true; Settings.Default.desktopNotif = false; Settings.Default.reset = false; Se

我第一次尝试在C#WPF项目中使用properties.settings

我有以下代码:

Settings.Default.comPort = "";
Settings.Default.baudRate = 9600;
Settings.Default.startUp = false;
Settings.Default.taskBar = true;
Settings.Default.desktopNotif = false;
Settings.Default.reset = false;
Settings.Default.Save();  
但它不起作用,设置也没有保存。所以我加了这一行

Console.WriteLine("test");
在该部分之后,检查它是否通过了代码,并且执行得很好。

因此,它似乎只是跳过了这些行,没有执行,甚至没有抛出任何异常。

多亏了我最终发现了问题。代码是正确的,但是当程序在VisualStudio中运行时,每次都会覆盖设置。构建之后,我运行了
bin/release
文件夹中的
.exe文件
,它运行得很好。

你怎么知道它们没有保存?回答您的问题了吗?您在哪里检查更改<代码>默认值表示默认值,它们是存储在配置文件中的初始值,而不是保存在用户配置文件中的初始值。或者您试图更改未保存的应用程序范围的属性。我使用两种方法来测试这些属性是否已保存。首先,我注释掉了这些行,并试图读取值,但它是空的。其次,我检查了app.config文件,它包含字段,但值是null@Amir那没有测试任何东西。如果您试图更改应用程序值,则不会保存任何内容。用户范围的值存储在用户的AppData\AppName文件夹中。您是否检查了AppData文件夹?不要认为在这样的基本功能中存在缺陷。人们早就注意到了。你需要隔离实际发生的事情。例如,如果正在调试应用程序,则每次检测到更改时,都可能会清除设置。如果添加/删除/更改设置,则需要调用
Upgrade
读取旧设置。否则,您的代码将在尝试读取旧的、不兼容的值时崩溃