In a Visual C# project's properties, I can go into Assembly Information and change both the assembly version and the file version. I've found that when I change the assembly version, a new folder is created in C:/Users/[username]/AppData to save any changes to user-scoped settings. This means any changes that were made in a previous version are lost and the settings are restored to their defaults. This can especially be a problem if the settings store important information like file paths and the application is shared by multiple users and the new user doesn't know how to change the settings to make it the way it was before the update.
Is there a standard solution to this problem? How do applications normally save a user's settings when the assembly version changes? Do applications normally just not change the assembly version at all unless they want to reset the settings to their defaults? I could just store data in a different file but I want to know if this can be done while still using user.config.
Also, how do I see what an exe's assembly version is? In its properties, the details tab shows "file version" and "product version" but they both reflect the file version that was set in Visual Studio.