C# Properties.Settings Property doesn't setter any value

10,900

Solution 1

From Microsoft:

Settings that are application-scoped are read-only, and can only be changed at design time or by altering the .config file in between application sessions. Settings that are user-scoped, however, can be written at run time just as you would change any property value. The new value persists for the duration of the application session. You can persist the changes to the settings between application sessions by calling the Save method.

How To: Write and Persist User Settings at Run Time with C#:

Access the setting and assign it a new value as shown in this example:

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

If you want to persist the changes to the settings between application sessions, call the Save method as shown in this example:

Properties.Settings.Default.Save();

User settings are saved in a file within a subfolder of the user’s local hidden application data folder.

You can find more about using settings in c# here.

Solution 2

It sounds like you're trying to edit this read-only property at runtime from code. You simply cannot do this.

To change your version you need to access the project properties through the solution explorer and change it in there.

In this particular case, the version number is added to the metadata of your compiled executeable and needs to be accessible to a host OS without the code actually running. So changing this OTF really would be counterproductive.

Share:
10,900
muratoner
Author by

muratoner

I like web and mobile software developer and using most usually that technologies: C#, NodeJS, JSON, WebApi, Xamarin, Cordova, ASP.NET MVC, ASP.NET Form, XML, WCF

Updated on June 13, 2022

Comments

  • muratoner
    muratoner about 2 years

    I want change value in "MyProject.Properties.Settings.Default.Property" but give to me error and this error;

    Severity Code Description Project File Line Suppression State Error CS0200 Property or indexer 'Settings.Version' cannot be assigned to -- it is read only

    How I can solve this problem? Or Which I can try different method?

    21.03.2017 EDIT - I SOLVED PROBLEM WITH THIS METHOD

    Properties.Settings.Default["Version"] = File.GetLastWriteTime(mainDllPath).ToString("ddMMyyyyhhmmss");
    Properties.Settings.Default.Save();