Где на самом деле хранится конфигурация при использовании файла Settings.settings в .NET? Я хочу удалить сохраненные настройки, чтобы вернуться к состоянию по умолчанию, но не могу найти, где они хранятся ... есть идеи?
100
Это зависит от того, находится ли выбранный вами параметр в области «Пользователь» или «Приложение».
Настройки области пользователя хранятся в
C: \ Documents and Settings \ имя пользователя \ Local Settings \ Application Data \ ApplicationName
Вы можете читать / записывать их во время выполнения.
Для Vista и Windows 7 папка
C: \ Users \ имя пользователя \ AppData \ Local \ ApplicationName
или
C: \ Users \ имя пользователя \ AppData \ Roaming \ ApplicationName
Параметры области приложения сохраняются в, AppName.exe.config
и они доступны только для чтения во время выполнения.
Вот фрагмент, который вы можете использовать для программного получения местоположения файла user.config:
ApplicationSettings (то есть settings.settings) по умолчанию использует PerUserRoamingAndLocal для пользовательских настроек (как я помнил).
Обновление: странно, но здесь слишком много неправильных ответов. Если вы ищете файл настроек с пользовательской областью действия (user.config), он будет расположен в следующей папке (для Windows XP):
Url или StrongName зависит от того, есть ли у вас строгое имя сборки приложения.
источник
Предполагая, что вы говорите о настольных компьютерах, а не о веб-приложениях:
Когда вы добавляете настройки в проект, VS создает файл с именем
app.config
в каталоге вашего проекта и сохраняет настройки в этом файле. Он также создаетSettings.cs
файл, который предоставляет статические средства доступа к отдельным параметрам.Во время компиляции VS будет (по умолчанию; вы можете изменить это) скопирует
app.config
файл в каталог сборки, изменив его имя, чтобы оно соответствовало исполняемому файлу (например, если ваш исполняемый файл названfoo.exe
, файл будет названfoo.exe.config
), которое является именем. Диспетчер конфигурации .NET ищет, когда он получает параметры во время выполнения.Если вы измените настройку через редактор настроек VS, он обновит
app.config
иSettings.cs
. (Если вы посмотрите на аксессоры свойств в сгенерированном коде вSettings.cs
, вы увидите, что они отмечены атрибутом, содержащим значение по умолчанию для параметра, находящегося в вашемapp.config
файле.) Если вы измените параметр, отредактировавapp.config
файл напрямую,Settings.cs
не будет обновляться, но новое значение будет по-прежнему использоваться вашей программой при ее запуске, поскольку оноapp.config
копируетсяfoo.exe.config
во время компиляции. Если вы отключите это (установив свойства файла), вы можете изменить настройку, напрямую отредактировавfoo.exe.config
файл в каталоге сборки.Затем есть пользовательские настройки.
Параметры области приложения доступны только для чтения. Ваша программа может изменять и сохранять настройки области действия пользователя, тем самым позволяя каждому пользователю иметь свои собственные настройки. Эти настройки не хранятся в
foo.exe.config
файле (так как, по крайней мере, в Vista программы не могут писать ни в какой подкаталогProgram Files
без повышения прав ); они хранятся в файле конфигурации в каталоге данных приложения пользователя.Путь к этому файлу
%appdata%\%publisher_name%\%program_name%\%version%\user.config
, напримерC:\Users\My Name\AppData\Local\My_Company\My_Program.exe\1.0.0\user.config
. Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.источник
Просматривая, чтобы узнать о хэше в имени папки, я наткнулся (через этот ответ ):
http://blogs.msdn.com/b/rprabhu/archive/2005/06/29/433979.aspx(отредактируйте: ссылка на Wayback Machine: https://web.archive.org/web/20160307233557/http://blogs.msdn.com:80/b/rprabhu/archive/2005/06/29/433979.aspx )
источник
Он находится в папке с именем вашего приложения в папке Application Data в домашней папке пользователя (C: \ documents and settings \ user на xp и c: \ users \ user в Windows Vista).
Существует некоторая информация здесь также.
PS: - попробуйте получить к нему доступ через% appdata% в окне запуска!
источник
Эмм, а нельзя ли просто использовать Settings.Default.Reset () для восстановления настроек по умолчанию?
источник
Все ваши настройки хранятся в соответствующем файле .config.
Файл .settings просто предоставляет строго типизированный класс для набора параметров, которые принадлежат друг другу, но фактические параметры хранятся в app.config или файле .config вашего приложения.
Если вы добавите файл .settings, app.config будет автоматически добавлен для хранения настроек, если у вас его еще нет.
источник
Если ваш файл настроек находится в веб-приложении, они будут в файле web.config (прямо под вашим проектом. Если они находятся в любом другом типе проекта, они будут в файле app.config (также под вашим проектом). .
редактировать
Как указано в комментариях: настройки вашего приложения времени разработки находятся в файле app.config для приложений, отличных от веб-приложений. При сборке файл app.config копируется в выходной каталог и получает имя yourexename .exe.config. Во время выполнения будет прочитан только файл с именем yourexename.exe.config.
источник
Два файла: 1) файл app.config или web.config. Параметры ее можно изменить после сборки с помощью текстового редактора. 2) Файл settings.designer.cs. В этом файле есть автоматически сгенерированный код для загрузки параметра из файла конфигурации, но также присутствует значение по умолчанию, если в файле конфигурации нет конкретной настройки.
источник
Я знаю, что на него уже ответили, но не могли бы вы просто синхронизировать настройки в конструкторе настроек, чтобы вернуться к настройкам по умолчанию?
источник