User Settings vs Application Settings vs Resources in Visual Studio 2008

.net, application-settings, resources, settings, visual-studio-2008

Solution

Sorry for the resurrection, but there's another factor to consider that I don't think has been mentioned:

Users can tamper with config to their hearts content - which means that you either have to validate the values in there, or ensure that whatever uses them doesn't care if they're nonsense. I doubt resources files are incorruptible either - I know it's possible to extract values from them, but whether or not it's possible to replace them without recompiling, I don't know. In any case, if you don't want the user changing those values without a concerted effort, go for resources. If you want to enable or even encourage after-market tweaking of settings, go for app settings.

Problem

I'm a little confused by the different ways Visual Studio allows dynamic values to be saved to a project, and how they are intended to be used. I understand that if I need to include binary information like an image or a sound file with my application I need to add that to a resource file. But if I'm saving something like a file path as a string why should I use or not use a string in a resource file over a string in an application settings (`app.config`) file or a user settings (`myapp.dll.config`) file?

Original source