问题
Introductory Example
This code
Properties.Settings.Default.MyUserSettingBlah = "some new value";
Properties.Settings.Default.Save();
saves the user.config file to
C:\Users\MyUserName\AppData\Local\My_Company_Name\MyApp_Url_vb2s5kwidefdmxstmabckatcyl5t0lxd\1.0.0.0\user.config
Question
How can I save user.config to
- C:\Users\MyUserName\AppData\ Roaming \...
instead of
- C:\Users\MyUserName\AppData\ Local \... ?
回答1:
I stumbled on this now...
As far as I know, it should be that you should put:
[global::System.Configuration.SettingsManageability(System.Configuration.SettingsManageability.Roaming)]
in Settings.Designer.cs for each settng that should go to roaming profile.
Alternatively you can change this on the Settings screen in Visual Studio 2010 by selecting the setting(s) and displaying it's properties (F4). There you can set the Roaming
property to True
.
回答2:
I don't know if it's a new feature or not, but in VS2010 every setting has a property called Roaming
that can be set to true or false.
It's not visible in the Settings designer though, you have to set it in the properties window for the setting you'd like to use it on.
Setting that property to true on a setting adds
[global::System.Configuration.SettingsManageabilityAttribute(global::System.Configuration.SettingsManageability.Roaming)]
to Settings.Designer.cs for that particular setting, which is almost identical to what Ivan suggested.
来源:https://stackoverflow.com/questions/3307699/how-to-save-user-config-to-appdata-roaming-folder-instead-of-appdata-local