При использовании файла Settings.settings в.NET, где конфигурация на самом деле хранится?

Вы можете отправить целевое действие без приложения, оно в любой момент подаст в отставку первому ответчику, не беспокоясь о том, какое представление в настоящее время имеет статус первого ответчика.

Objective-C:

[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

Swift 3.0:

UIApplication.shared.sendAction(#selector(resignFirstResponder), to: nil, from: nil, for: nil)

Действия с нулевым таргетингом распространены в Mac OS X для команд меню, и вот их использование в iOS.

94
задан Adam Haile 2 July 2009 в 15:55
поделиться

9 ответов

Это зависит от того, находится ли выбранная вами настройка в области «Пользователь» или «Приложение».

Область действия пользователя

Настройки области действия пользователя хранятся в

C:\Documents and Settings\ username \Local Settings\Application Data\ ApplicationName

Вы можете читать / записывать их во время выполнения.

Для Vista и Windows 7 папка -

C:\Users\ username \AppData\Local\ ApplicationName

или

C:\Users\ username \AppData\Roaming\ ApplicationName

Область приложения

Параметры области приложения сохраняются в AppName.exe.config и доступны только для чтения во время выполнения.

98
ответ дан 24 November 2019 в 06:05
поделиться

Вот фрагмент, который вы можете использовать для программного получения местоположения файла user.config:

public static string GetDefaultExeConfigPath(ConfigurationUserLevel userLevel)
{
  try
  {
    var UserConfig = ConfigurationManager.OpenExeConfiguration(userLevel);
    return UserConfig.FilePath;
  }
  catch (ConfigurationException e)
  {
    return e.Filename;
  }
}

ApplicationSettings (т.е. settings.settings) по умолчанию использует PerUserRoamingAndLocal для пользовательских настроек (как я помнил).

Обновление: Странно, но здесь слишком много неправильных ответов. Если вы ищете файл настроек с пользовательской областью действия (user.config), он будет расположен в следующей папке (для Windows XP):

C: \ Documents and Настройки \ (имя пользователя) \ Local Настройки \ Приложение Data \ (имя-компании-если-существует) \ (имя-приложения) .exe_ (URL-адрес | StrongName) _ (хэш) \ (версия-приложения) \

URL-адрес или StrongName зависит от строгого имени сборки приложения или нет.

51
ответ дан 24 November 2019 в 06:05
поделиться

Он находится в папке с именем вашего приложения в папке Application Data в домашней папке пользователя (C: \ documents and settings \ user на xp и c: \ users \ user в Windows Vista).

Здесь также есть некоторая информация .

PS: - попробуйте получить к нему доступ через% appdata% в окне запуска!

2
ответ дан 24 November 2019 в 06:05
поделиться

Предполагая, что вы говорите о настольных, а не веб-приложениях:

Когда вы добавляете настройки в проект, VS создает файл с именем app.config в вашем каталог проекта и хранит настройки в этом файле. Он также создает файл Settings.cs , который предоставляет статические средства доступа к отдельным параметрам.

Во время компиляции VS будет (по умолчанию; вы можете изменить это) скопирует app.config в каталог сборки, изменив его имя в соответствии с исполняемым файлом (например, если ваш исполняемый файл называется foo.exe , файл будет называться foo.exe.config ), это имя, которое диспетчер конфигурации .NET ищет при получении параметров во время выполнения.

Если вы измените параметр через редактор параметров VS, он обновит оба приложения . config и Settings.cs . (Если вы посмотрите на аксессоры свойств в сгенерированном коде в Settings.cs , вы увидите, что они отмечены атрибутом, содержащим значение по умолчанию для параметра вашего приложения . 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 . Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.

Ваша программа может изменять и сохранять настройки области действия пользователя, тем самым позволяя каждому пользователю иметь свои собственные настройки. Эти настройки не хранятся в файле 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 . Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.

Ваша программа может изменять и сохранять настройки области действия пользователя, тем самым позволяя каждому пользователю иметь свои собственные настройки. Эти настройки не хранятся в файле 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 . Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.

файл 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 . Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.

файл 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 . Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.

Путь к этому файлу: % appdata% \% publisher_name% \% program_name% \% version% \ user.config , например C: \ Users \ My Name \ AppData \ Local \ My_Company \ My_Program.exe \ 1.0.0 \ user.config . Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.

Путь к этому файлу: % appdata% \% publisher_name% \% program_name% \% version% \ user.config , например C: \ Users \ My Name \ AppData \ Local \ My_Company \ My_Program.exe \ 1.0.0 \ user.config . Обратите внимание: если вы дали своей программе строгое имя, строгое имя будет добавлено к имени программы в этом пути.

17
ответ дан 24 November 2019 в 06:05
поделиться

Все ваши настройки хранятся в соответствующем файле .config.

Файл .settings просто предоставляет строго типизированный класс для набора настроек, которые принадлежат друг другу, но фактические настройки сохраняются в app.config или файле .config в вашем приложении.

Если вы добавите файл .settings, app.config будет автоматически добавлен для хранения настроек, если у вас его еще нет.

1
ответ дан 24 November 2019 в 06:05
поделиться

Если ваш файл настроек находится в веб-приложении, они будут в файле web.config (прямо под вашим проектом. Если они находятся в любом другом типе проекта, они будут в app.config (также ниже вашего проекта).

Edit

Как указано в комментариях: настройки вашего приложения времени разработки находятся в файле app.config для приложений, отличных от веб-приложений. При сборке Файл app.config копируется в выходной каталог и будет называться yourexename .exe.config. Во время выполнения будет прочитан только файл с именем yourexename.exe.config.

1
ответ дан 24 November 2019 в 06:05
поделиться

Два файла: 1) Файл app.config или web.config. Параметры ее можно изменить после сборки с помощью текстового редактора. 2) Файл settings.designer.cs. Этот файл имеет автоматически сгенерированный код для загрузки настройки из файла конфигурации, но также присутствует значение по умолчанию, если в файле конфигурации нет конкретной настройки.

0
ответ дан 24 November 2019 в 06:05
поделиться

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

0
ответ дан 24 November 2019 в 06:05
поделиться

Может ли быть, что вы загрузили фавикон после того, как ваш браузер вспомнил, что ваш домен не имеет его и поэтому не выдает новый запрос?

-121--3823370-

Сравнение в оболочке jQuery невозможно, но его можно выполнить на базовом узле DOM. Потеряйте несколько долларов и вы в порядке:

.focus(function(){
    var that= this;
    $openMenus.each(function(){
        if (this!==that){ 
            [do something]
        }
    });
})

(или используйте, например. обертка [0] , чтобы получить узел DOM из обертки jQuery с одним элементом.)

(Я использовал = = = для сравнения, потому что это, как правило, лучше, но он будет работать и с = = .)

-121--4196020-

Можно ли не просто использовать Settings.Default.Reset () для восстановления настроек по умолчанию?

3
ответ дан 24 November 2019 в 06:05
поделиться
Другие вопросы по тегам:

Похожие вопросы: