I've created a console app (VS2015, target framework 4.5.2) and I have used
By default the settings in
app.config are also embedded into your code (just for those situations like what you describe... where you just have the EXE without any
*.config file). You can change this behavior by changing the
GenerateDefaultValueInCode for each setting.
There are two sections to the file... the application section has the read-only setting for the entire app. The user section has the starting default values of the settings that the user can change.
So, just to review:
app.config= the design-time version of all the settings (it gets renamed and copied to
YourApplication.exe.config= the run-time version of the all of the settings
%LOCALAPPDATA%\App\Version\user.config= just the user portion of the settings after they've made changes