Настройки C # с использованием ApplicationSettingsBase - роуминг и общие - PullRequest
2 голосов
/ 13 июня 2010

Я использую Архитектуру настроек приложения Windows Forms (или как вы должны на нее ссылаться) и успешно сохраняю настройки пользователя в AppData.

То, что я хочу сделать, - это настроить некоторые параметры, общие для всех пользователей конкретной машины , и некоторые настройки, которые перемещаются между пользователями на разных машинах. Например, у меня есть некоторые настройки, связанные с периферийным устройством, подключенным к компьютеру (модель, настройки и т. Д.), А также некоторые пользовательские настройки, такие как цвета пользовательского интерфейса.

Настройки цветов должны перемещаться вместе с пользователем, но настройки периферийных устройств должны оставаться на локальном компьютере независимо от того, кто вошел в систему.

Как пометить эти типы настроек, чтобы некоторые из них были сохранены в All Users/AppData/..., а некоторые в [user name]/AppData/...?

Обратите внимание, что я не хочу настройки уровня приложения - каждый компьютер, на который будет установлено приложение, будет иметь свои настройки.

Я нацеливаюсь на .Net 3.0, если это имеет значение.

Ответы [ 2 ]

2 голосов
/ 13 июня 2010

Это делается с помощью атрибута [ SettingsManageability ].Класс LocalFileSettingsProvider проверяет его, наличие атрибута представляется достаточным, если приложение не развернуто ClickOnce.Выглядит довольно бесполезно, дизайнер настроек не поддерживает его.

0 голосов
/ 13 июня 2010

На странице, на которую вы ссылаетесь:

Расположение файлов настроек

Расположение файлов app.exe.config и user.config будет отличатьсяна основе того, как приложение установлено.Для приложения на основе Windows Forms, скопированного на локальный компьютер, файл app.exe.config будет находиться в том же каталоге, что и базовый каталог основного исполняемого файла приложения, а файл user.config будет находиться в местоположении, указанном в Application.LocalUserAppDataPathимущество.Для приложения, установленного с помощью ClickOnce, оба этих файла будут находиться в каталоге данных ClickOnce в папке% InstallRoot% \ Documents and Settings \ username \ Local Settings.

Расположение этих файлов:немного отличается, если пользователь включил перемещаемые профили , что позволяет пользователю определять различные параметры Windows и приложения, когда он или она использует другие компьютеры в домене.В этом случае и приложения ClickOnce, и приложения, не являющиеся ClickOnce, будут иметь свои файлы app.exe.config и user.config, хранящиеся в папке% InstallRoot% \ Documents and Settings \ username \ Application Data.

Для получения дополнительной информации оО том, как функция «Настройки приложения» работает с новой технологией развертывания, см. в разделе «ClickOnce» и «Настройки приложения».Для получения дополнительной информации о каталоге данных ClickOnce см. Доступ к локальным и удаленным данным в приложениях ClickOnce.

...