I am trying to store some persistent application data so I've added a setting to the project by R-Clicking on it, selecting properties, then Settings tab and manually entering settings name, Type, Scope and Value
When I run the code, I read settings like this:
lastRunTime = My.Settings.LastRunTime
and set it like this:
My.Settings.LastRunTime = lastRunTime
Where can I actually see the new setting? Because for the love of God, I cannot see where it is updating the setting. app.config has the original setting value when I created that setting. So where can I see it?
When I run the code, I see it updates it and the next time I run the app the new value persists, so I know it stores it somewhere. But where?
.NET has to do something special, it has to give you a guarantee that another program that also happens to have a "LastRuntime" setting doesn't overwrite the value that's stored for your program. To do that, it stores a user.config file in a directory that's hard to find back. It has a weirdo name, like
C:\Users\username\AppData\Local\WindowsFormsApplication1\WindowsFormsApplication1._Url_twchbbo4atpsvjpauzkgkvesu5bh2aul\1.0.0.0\user.config
Note how the project name is part of the path, that's one way to find it back. The unspeakable part of the name is a hash, created from various properties of your project that make your app unique enough to not collide with another .NET program, even if the name matches. Like your product name, company name, exe name, etcetera.
Note how the converse is true as well, changing such a property makes you lose your user.config file. So if "LastRuntime" is some kind of license metering value then using a setting isn't the best idea.
That value is stored in the APPDATA folder under your user profile. For Windows 7 look in C:\Users\\AppData\Roaming\
There will be a folder named based on how you configured Visual Studio. Since my copy at work is registered to the company, the default value is my company name. Since my copy of Visual Studio at home is registered to myself, the default value is my name.
AppData is a hidden folder, that won't show up if you navigate via Windows Explorer. But if you type it into the run command it will open with no problems.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With