Settings.setting gives the different values in Debug mode

自古美人都是妖i 提交于 2019-12-10 11:35:58

问题


First strangeness:

I really wonder why do I get the different values from Settings.settings file in the debug and non-debug modes. In other words I start my application in the without debugging (run-> start without debuging) and in the debug modes (rub-> debug). And it always gives me the different values for the same key in these modes.

Second strangeness:

When I change the values stored in Settings.settings file with my application at runtime, the values aren't changed. I see the previous values in this file as I open it in Visual Studio. Note I don't forget to call Default.Save() to save the changes.

What is the reason for them? Why do they occur and how do I solve them?


回答1:


The reason is simple. When you debug you do not start the application itself but a Visual Studio hosting process where your code is executed. Since settings are per executable specific you get for the VS Debugger hosted executable different previously saved settings back as if you start your application directly.

You can disable this strange behviour by selecting in your

Project Properties - Debug -

    uncheck Enable Visual Studio Hosting Process.

The settings are immutable (read only) if they are application scoped. When you call save on settings with user scope they will be stored in your user profile. The app.config contents are never changed which makes sense to allow admin only installation of an application. Later the users can change the settings by writing the "diff" to their local user profile.



来源:https://stackoverflow.com/questions/10469904/settings-setting-gives-the-different-values-in-debug-mode

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!