Как сохранить user.config в папку AppData\Roaming вместо AppData\Local?

Вводный пример

Этот код

Properties.Settings.Default.MyUserSettingBlah = "some new value";
Properties.Settings.Default.Save();

сохраняет файл user.config в

C:\Users\MyUserName\AppData\Local\My_Company_Name\MyApp_Url_vb2s5kwidefdmxstmabckatcyl5t0lxd\1.0.0.0\user.config

Вопрос

Как сохранить user.config в

  • C:\Users\MyUserName\AppData\Роуминг \...

вместо

  • C:\Users\MyUserName\AppData\Local \... ?

Ответы

Ответ 1

Я наткнулся на это сейчас...

Насколько я знаю, должно быть, что вы должны поставить:

[global::System.Configuration.SettingsManageability(System.Configuration.SettingsManageability.Roaming)]        

в Settings.Designer.cs для каждого задания, которое должно перейти в перемещаемый профиль.

В качестве альтернативы вы можете изменить это на экране настроек в Visual Studio 2010, выбрав параметры и отображая его свойства (F4). Там вы можете установить свойство Roaming на True.

Ответ 2

Я не знаю, является ли это новой функцией или нет, но в VS2010 каждый параметр имеет свойство с именем Roaming, которое может быть установлено как true или false.
Он не отображается в дизайнере настроек, однако вы должны установить его в окне свойств для параметра, в котором вы хотите его использовать.

Установка этого свойства в true при настройке добавляет

[global::System.Configuration.SettingsManageabilityAttribute(global::System.Configuration.SettingsManageability.Roaming)]

в Settings.Designer.cs для этой конкретной настройки, которая почти идентична тому, что предложил Иван.