как изменить .Расположение СЕТЕВЫХ пользовательских настроек

StackOverflow https://stackoverflow.com/questions/2518772

Вопрос

По умолчанию настройки хранятся по адресу: C:\Documents and Settings\\Local Settings\Application Data\<Project Name>

Как я могу изменить этот путь к каталогу приложения?Я также не хочу иметь разные файлы для разных пользователей.Как сделать настройки глобальными?

Я попытался изменить область действия настроек на "приложение", но тогда я не могу изменить их во время выполнения.

Это было полезно?

Решение

Используя встроенное поведение по умолчанию, вы не можете!

Q:Почему этот путь такой неясный?Есть ли какой-нибудь способ изменить / настроить это?

A: Алгоритм построения пути должен соответствовать определенным строгим требованиям с точки зрения безопасности, изоляции и робастности.Хотя мы пытались сделать путь максимально простым для обнаружения, используя понятные, поставляемые приложением строки, невозможно сохранить путь полностью простым без возникновения проблем, таких как коллизии с другими приложениями, подмена и т.д.

LocalFileSettingsProvider не предоставляет способа изменить файлы, в которых хранятся настройки.Обратите внимание, что сам поставщик не определяет расположение файлов конфигурации в первую очередь это конфигурация системы.Если вам по какой-либо причине необходимо сохранить настройки в другом месте, рекомендуется написать свой собственный SettingsProvider.Это довольно просто реализовать, и вы можете найти примеры в .NET 2.0 SDK , которые показывают, как это сделать.Имейте в виду однако, что вы можете столкнуться с теми же проблемами изоляции, упомянутыми выше.

Я согласен с ответом Роберта Харви сделай это сам, или напишите поставщика пользовательских настроек.

Другие советы

Вы всегда можете прочитать и написать свой собственный XML-файлы конфигурации.

Есть сложности с программным изменением настроек для всех пользователей (поскольку они берутся из файла exe.config, который обычно находится в Program Files и таким образом защищен от доступа на запись в современных ОС).Вы можете попробовать сделать настройки для всего приложения, но затем использовать ConfigurationManager возиться с файлом конфигурации, аналогично решению этот вопрос.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top