C#Properties.Settings属性不会设置任何值

时间:2017-03-20 14:04:16

标签: c# settings application-settings

我想在“MyProject.Properties.Settings.Default.Property”中更改值,但是给我错误和此错误;

  

严重级代码描述项目文件行抑制状态   错误CS0200无法分配属性或索引器“Settings.Version”   到 - 它是只读的

我如何解决这个问题?或者我可以尝试不同的方法?

21.03.2017编辑 - 我用这种方法解决了问题

System.out

2 个答案:

答案 0 :(得分:3)

听起来你正试图在运行时从代码中编辑这个只读属性。你根本做不到这一点。

要更改版本,您需要通过解决方案资源管理器访问项目属性并在其中进行更改。

在这种特殊情况下,版本号将添加到已编译的可执行文件的元数据中,并且需要主机操作系统可以访问,而无需实际运行代码。所以改变这个OTF真的会适得其反。

答案 1 :(得分:3)

来自Microsoft

  

应用程序范围的设置是只读的,并且只能是   在设计时更改或通过更改之间的.config文件   申请会议。但是,用户范围的设置可以是   在运行时编写,就像更改任何属性值一样。该   新值在应用程序会话期间持续存在。您   可以在应用程序会话之间保持对设置的更改   通过调用Save方法。

     

如何:使用C#在运行时编写和保留用户设置:

     

访问该设置并为其指定一个新值,如下例所示:

Properties.Settings.Default.myColor = Color.AliceBlue;
     

如果要在应用程序之间保留更改设置   会话,调用Save方法,如下例所示:

Properties.Settings.Default.Save();
     

用户设置保存在用户子文件夹中的文件中   本地隐藏的应用程序数据文件夹。

You can find more about using settings in c# here