【问题标题】:Settings.Default value does not change after releaseSettings.Default 值在发布后不会改变
【发布时间】:2019-07-31 18:47:51
【问题描述】:

我有一个 Windows 窗体桌面应用程序。我在名为 Settings.Default.Code

的资源中使用了一个设置变量

所以我在Form->Properties->Settings.Code="123"中设置了value初始值

我已经使用如下代码更改了应用程序中的值:

private void button1_Click(object sender, EventArgs e)
{
   Settings.Default.Code = "ABC";
   Settings.Default.Save();
}

按钮点击后代码值与下图相同

:

但如果我在代码 Settings.Default.Code 中得到值是“ABC”

当我创建一个安装项目并发布应用程序时,这个设置的值应该是“123”,但它是“ABC”。初始值不是从第一个设定值得到的。为什么?我该如何解决这个问题?

【问题讨论】:

  • 您能告诉我们您的应用程序中更改值的代码块吗?
  • 我更新了帖子。
  • 如果你在Project Properties中手动设置Code为123,然后运行应用程序,点击button1并关闭应用程序,你能在Project Properties文件中查看当前Code值是多少吗?
  • 是的,我检查并使用图像更新帖子。文件值不会改变。但是如果我得到代码Settings.Default.Code 中的值是“ABC”
  • 您的问题不清楚。但是,如果我理解正确,您是说当您“发布应用程序”(即安装到其他位置)时,您在运行程序时设置的测试值以某种方式被保留,而不是使用默认值。这对我来说听起来很正常,假设“其他位置”在同一台机器上,以同一个用户身份运行。只要您在程序由其他用户运行时仍然获得默认值,对我来说这听起来不错。

标签: c# .net winforms windows-forms-designer


【解决方案1】:

将此行添加到程序的开头:

Settings.Default.Reset();

更多信息:ApplicationSettingsBase.Reset Method

【讨论】:

  • 但是 begin 在我运行调试时和发布后都会运行。所以每次都会运行它。
  • 你不想让它每次都运行?
【解决方案2】:

正如@Peter Duniho 提到的,问题可能是该设置已保存到您计算机上的个人资料中。在再次测试之前尝试删除配置文件:

C:\Users{用户名}\AppData\Local\{ApplicationName}

C:\Users{用户名}\AppData\Roaming\{ApplicationName}

【讨论】:

    猜你喜欢
    • 2018-07-20
    • 1970-01-01
    • 1970-01-01
    • 2023-04-10
    • 2020-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-30
    相关资源
    最近更新 更多