Управление параметрами приложения (.NET)
Параметры приложений позволяют динамически хранить данные приложения. С параметрами приложения можно использовать клиентский компьютер для хранения информации, которая не должна быть включена в код приложения во время выполнения. Параметры приложения могут включать строка подключения, предпочтения пользователей и многое другое.
Примечание.
Параметры приложения заменяют динамические свойства, используемые в более ранних версиях Visual Studio.
Каждый параметр приложения должен иметь уникальное имя. Имя может быть любым сочетанием букв, чисел или подчеркивания. Имя не может начинаться с числа, и оно не может содержать пробелы. Для изменения имени служит свойство Name
.
Параметры приложения могут храниться в виде любого типа данных, который может быть сериализован в формат XML или имеет метод TypeConverter
, реализующий ToString
/FromString
. Наиболее распространенными типами являются String
, Integer
и Boolean
. Вы также можете хранить значения как , Objectили как Colorстрока подключения.
Параметры приложений также содержат значение. Значение задается с помощью свойства Value и должно соответствовать типу данных параметра.
Кроме того, параметры приложений могут быть связаны со свойством формы или элемента управления во время разработки.
Существуют два типа параметров приложений в зависимости от области действия:
Параметры с областью приложения можно использовать для получения сведений, таких как URL-адрес веб-службы или базы данных строка подключения. Эти значения связаны с приложением. Следовательно, пользователи не могут изменять их во время выполнения.
Параметры с областью действия пользователя можно использовать для сведений, таких как сохранение последней позиции формы или предпочтения шрифта. Пользователи могут изменять эти значения во время выполнения.
Можно изменить тип параметра с помощью свойства Scope .
Система работы с проектами хранит параметры приложений в двух файлах XML:
Файл app.config, созданный во время разработки при создании первого параметра приложения
Файл user.config, который создается во время выполнения, когда пользователь, который запускает приложение, изменяет значение любого параметра пользователя.
Изменения параметров пользователя не записываются на диск, если приложение специально не вызывает метод для этого.
Создание параметров приложения во время разработки
Во время разработки можно создать параметры приложения двумя способами:
Используйте страницу параметров конструктора проектов.
Используйте окно "Свойства" для формы или элемента управления, что позволяет привязать параметр к свойству.
При создании параметра области приложения (например, базы данных строка подключения или ссылки на ресурсы сервера) Visual Studio сохраняет его в файле app.config с тегом<applicationSettings>
. Строки подключения сохраняются под тегом <connectionStrings>
.
При создании параметра с областью действия пользователя (например, шрифта по умолчанию, домашней страницы или размера окна) Visual Studio сохраняет его в файле app.config с тегом <userSettings>
.
Внимание
При хранении строк подключения в файле в app.config нужно предпринимать меры предосторожности, чтобы избегать раскрытия конфиденциальной информации, такой как пароли или пути сервера, содержащейся в строке подключения.
Если вы принимаете строка подключения информацию из внешнего источника, например пользователя, который предоставляет идентификатор пользователя и пароль, убедитесь, что значения, используемые для создания строка подключения, не содержат дополнительных строка подключения параметров, которые изменяют поведение подключения.
Рассмотрите возможность использования функции защищенной конфигурации для шифрования секретной информации в файле конфигурации. Дополнительные сведения см. в разделе Защита сведений о подключении.
Примечание.
Так как для библиотек классов нет модели файлов конфигурации, параметры приложения не применяются для проектов библиотек классов. Исключением является проект DLL среды выполнения набор средств Visual Studio для Office, который может иметь файл конфигурации.
Использование настраиваемых файлов параметров
Для удобства управления группами параметров в проект можно добавить индивидуальные файлы настроек. Содержащиеся в одном файле параметры загружаются и сохраняются как единое целое. Хранение параметров в отдельных файлах для часто и редко используемых групп позволяет сэкономить время на загрузке и сохранении параметров.
Например, в проект можно добавить файл 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
см. в разделе Доступ к параметрам приложения (.NET Framework).
Значения любых пользовательских параметров, которые пользователь изменяет во время выполнения, например положение формы, хранятся в файле user.config . Значения по умолчанию по-прежнему сохраняются в app.config.
Если во время выполнения во время выполнения изменяются какие-либо параметры с областью действия пользователя, например при тестировании приложения, и вы хотите сбросить эти параметры в значения по умолчанию, нажмите кнопку "Синхронизировать ".
Мы рекомендуем использовать My.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 из платформа .NET Framework.