Схема Параметры приложения

Параметры приложения позволяют приложению Windows Forms или приложению ASP.NET хранить и извлекать параметры, область приложения и область пользователей. В этом контексте параметр представляет собой любую часть информации, которая может быть связана с приложением или конкретным для текущего пользователя — все, что связано с базой данных, строка подключения до предпочтительного размера окна по умолчанию.

По умолчанию параметры приложения в приложении Windows Forms используют LocalFileSettingsProvider класс, который использует систему конфигурации .NET для хранения параметров в XML-файле конфигурации. Дополнительные сведения о файлах, используемых параметрами приложения, см. в разделе "Архитектура приложения Параметры".

Важно!

Большинство разделов конфигурации, определенных платформа .NET Framework, больше не работают в версиях .NET 6+ и .NET Core. ConfigurationManager предоставляется только для совместимости. Вместо app.config современный .NET использует файл appsettings.json для параметров приложения. См. статью "Модернизация после обновления до .NET" из платформа .NET Framework.

Рекомендуется удалить использование в app.config и вызвать соответствующий API, если он доступен, чтобы сделать тот же параметр. Дополнительные сведения см. в статье Конфигурация в .NET.

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

Элемент Description
<application Параметры> Содержит все <теги параметров> , относящиеся к приложению.
<user Параметры> Содержит все <теги параметров> , относящиеся к текущему пользователю.
<Параметр> Определяет параметр. Дочерний элемент любого приложения Параметры> или <пользователя Параметры>.<
<значение> Определяет значение параметра. Дочерний <элемент параметра>.

<элемент application Параметры>

Этот элемент содержит все <теги параметров> , относящиеся к экземпляру приложения на клиентском компьютере. Атрибуты не определяются.

<элемент user Параметры>

Этот элемент содержит все <теги параметров> , относящиеся к пользователю, который в настоящее время использует приложение. Атрибуты не определяются.

<Элемент setting>

Этот элемент определяет параметр. Он имеет следующие атрибуты.

Атрибут Описание
name Обязательно. Уникальный идентификатор параметра. Параметры, созданные с помощью Visual Studio, сохраняются с именемProjectName.Properties.Settings.
serializeAs Обязательно. Формат, используемый для сериализации значения в текст. Допустимые значения:

- string. Значение сериализуется в виде строки с помощью .TypeConverter
- xml. Значение сериализуется с помощью сериализации XML.
- binary. Значение сериализуется как двоичный файл в кодировке текста с помощью двоичной сериализации.
- custom. Поставщик параметров имеет встроенные знания об этом параметре и сериализует и десериализирует его.

Добавьте имена параметров, создаваемых в приложении Параметры> в качестве записей в элементе< configSections> в верхней части файла.< Например:

<configuration>
    <configSections>
        <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
            <section name="WindowsFormsApp1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
            <section name="WindowsFormsApp1.Properties.MyCustomSettings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
        </sectionGroup>
    </configSections>
    ...
</configuration>

<элемент value>

Этот элемент содержит значение параметра.

Пример

В следующем примере показан файл параметров приложения, определяющий два параметра область приложения и два параметра область пользователя:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <configSections>
    <sectionGroup name="applicationSettings" type="System.Configuration.ApplicationSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
    </sectionGroup>
    <sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
      <section name="WindowsApplication1.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" />
    </sectionGroup>
  </configSections>
  <applicationSettings>
    <WindowsApplication1.Properties.Settings>
      <setting name="Cursor" serializeAs="String">
        <value>Default</value>
      </setting>
      <setting name="DoubleBuffering" serializeAs="String">
        <value>False</value>
      </setting>
    </WindowsApplication1.Properties.Settings>
  </applicationSettings>
  <userSettings>
    <WindowsApplication1.Properties.Settings>
      <setting name="FormTitle" serializeAs="String">
        <value>Form1</value>
      </setting>
      <setting name="FormSize" serializeAs="String">
        <value>595, 536</value>
      </setting>
    </WindowsApplication1.Properties.Settings>
  </userSettings>
</configuration>

См. также