Управление параметрами приложения (.NET)
Параметры приложения позволяют динамически хранить сведения о приложении. С параметрами приложения можно использовать клиентский компьютер для хранения информации, которая не должна быть включена в код приложения во время выполнения. Параметры приложения могут включать строки подключения, настройки пользователя и многое другое.
Заметка
Параметры приложения заменяют динамические свойства, используемые в более ранних версиях Visual Studio.
Каждый параметр приложения должен иметь уникальное имя. Имя может быть любым сочетанием букв, чисел или подчеркивания. Имя не может начинаться с числа, и оно не может содержать пробелы. Название изменяется с помощью свойства Name
.
Параметры приложения можно хранить как любой тип данных, сериализованный в XML или имеющий TypeConverter
, реализующий ToString
/FromString
. Наиболее распространенными типами являются String
, Integer
и Boolean
. Можно также хранить значения как Color, Objectили в виде строки подключения.
Параметры приложения также содержат значение. Значение задается свойством Value и должно соответствовать типу данных настройки.
Кроме того, параметры приложения можно привязать к свойству формы или элемента управления во время разработки.
Существует два типа параметров приложения на основе области:
параметры уровня приложения можно использовать для информации, такой как URL-адрес веб-службы или строка подключения к базе данных. Эти значения связаны с приложением. Поэтому пользователи не могут изменять их во время выполнения.
Пользовательские настройки можно использовать для таких задач, как сохранение последней позиции формы или предпочтения шрифта. Пользователи могут изменять эти значения во время выполнения.
Тип параметра можно изменить с помощью свойства Scope.
Система проекта сохраняет параметры приложения в двух XML-файлах:
Файл app.config, который создается во время разработки при создании первого параметра приложения
Файл user.config, который создается во время выполнения, когда пользователь, который запускает приложение, изменяет значение любого параметра пользователя.
Изменения параметров пользователя не записываются на диск, если приложение специально не вызывает метод для этого.
Создание параметров приложения во время разработки
Во время разработки можно создать параметры приложения двумя способами:
Используйте страницу параметров конструктора проектов .
Используйте окно свойств для формы или элемента управления, что позволяет привязать параметр к свойству.
При создании параметра области приложения (например, строки подключения к базе данных или ссылки на ресурсы сервера) Visual Studio сохраняет его в файле app.config с тегом <applicationSettings>
. Строки подключения сохраняются под тегом <connectionStrings>
.
При создании параметра с областью действия пользователя (например, шрифта по умолчанию, домашней страницы или размера окна) Visual Studio сохраняет его в файле app.config с тегом <userSettings>
.
Важный
При хранении строк подключения в app.configследует предпринять меры предосторожности, чтобы избежать раскрытия конфиденциальной информации, например паролей или путей сервера, в строке подключения.
Если вы принимаете сведения о строке подключения из внешнего источника, например пользователя, который предоставляет идентификатор пользователя и пароль, убедитесь, что значения, используемые для создания строки подключения, не содержат дополнительных параметров строки подключения, которые изменяют поведение подключения.
Рекомендуется использовать функцию защищенной конфигурации для шифрования конфиденциальной информации в файле конфигурации. Дополнительные сведения см. в разделе Защита сведений о подключении.
Заметка
Так как для библиотек классов нет модели файлов конфигурации, параметры приложения не применяются для проектов библиотек классов. Исключением является visual Studio Tools for Office Runtime DLL-проект, который может иметь файл конфигурации.
Использование настраиваемых файлов параметров
В проект можно добавить настраиваемые файлы параметров для удобного управления группами параметров. Параметры, содержащиеся в одном файле, загружаются и сохраняются как единое целое. Хранение параметров в отдельных файлах для часто используемых и редко используемых групп может сэкономить время при загрузке и сохранении параметров.
Например, в проект можно добавить файл SpecialSettings.settings. Хотя ваш класс SpecialSettings
не предоставляется в пространстве имен My
, режим просмотра кода может считывать файл пользовательских параметров, содержащий Partial Class SpecialSettings
.
Дизайнер настроек сначала ищет файл Settings.settings, создаваемый системой проекта. Этот файл Settings.settings — это файл по умолчанию, который конструктор проектов отображает на вкладке "Параметры". Файл Settings.settings находится в папке "Мой проект" для проектов Visual Basic и в папке "Свойства" для проектов Visual C#. конструктор проектов затем ищет другие файлы параметров в корневой папке проекта. Поэтому вам следует поместить свой файл пользовательских настроек туда. Если вы добавите файл .settings в другом месте проекта, Проектировщик не может его найти.
Доступ или изменение параметров приложения во время выполнения в Visual Basic
В проектах Visual Basic можно получить доступ к параметрам приложения во время выполнения с помощью объекта My.Settings
. На странице "Параметры" нажмите кнопку "Просмотреть код", чтобы просмотреть файл Settings.vb.
Settings.vb определяет класс Settings
, который позволяет обрабатывать эти события в классе параметров:
Класс Settings
в Settings.vb является частичным классом, который отображает только код, принадлежащий пользователю, а не весь созданный класс. Дополнительные сведения о доступе к параметрам приложения с помощью объекта My.Settings
см. в параметрах приложения Access (.NET Framework).
Значения всех пользовательских параметров, которые пользователь изменяет во время выполнения, например положение формы, хранятся в user.config файле. Значения по умолчанию по-прежнему сохраняются в app.config.
Если во время выполнения изменяются какие-либо пользовательские параметры, например, при тестировании приложения, и вы хотите сбросить их до значений по умолчанию, нажмите кнопку Синхронизировать.
Мы рекомендуем использовать объект My.Settings
и файл .settings по умолчанию для доступа к параметрам. Конструктор параметров можно использовать, чтобы назначить свойства настройкам, и параметры пользователя автоматически сохраняются перед завершением работы приложения. Однако приложение Visual Basic может напрямую получить доступ к параметрам. В этом случае необходимо получить доступ к классу MySettings
и использовать настраиваемый файл .settings в корне проекта. Перед завершением приложения необходимо сохранить параметры пользователя, как и для приложения C#, как описано в следующем разделе.
Доступ или изменение параметров приложения во время выполнения в C#
На языках, отличных от Visual Basic, например C#, необходимо напрямую получить доступ к классу Settings
, как показано в следующем примере Visual C#.
Properties.Settings.Default.FirstUserSetting = "abc";
Чтобы сохранить параметры пользователя, необходимо явно вызвать метод Save
этого класса-оболочки. Обычно это делается в обработчике событий Closing
основной формы. В следующем примере C# показан вызов метода Save
.
Properties.Settings.Default.Save();
Общие сведения о доступе к параметрам приложения через класс Settings
см. в обзоре параметров приложения (.NET Framework).
Перенос приложений из .NET Framework в .NET
Платформа .NET Framework использует файл app.config для загрузки параметров приложения, таких как строки подключения и конфигурация поставщика журналов. Современный .NET использует файл appsettings.json для параметров приложения. Дополнительные сведения о преобразовании файлов app.config в appsettings.jsonсм. в статье «Модернизация после обновления с .NET Framework на .NET».