Compartilhar via


Esquema de Configurações do Aplicativo

As configurações de aplicativo permitem que um aplicativo do Windows Forms ou ASP.NET armazene e recupere configurações com escopo de aplicativo e no escopo do usuário. Nesse contexto, uma configuração é qualquer informação que possa ser específica para o aplicativo ou específica para o usuário atual – qualquer coisa, desde uma cadeia de conexão de banco de dados até o tamanho da janela padrão preferencial do usuário.

Por padrão, as configurações de aplicativo em um aplicativo do Windows Forms usam a LocalFileSettingsProvider classe, que usa o sistema de configuração .NET para armazenar as configurações em um arquivo de configuração XML. Para obter mais informações sobre os arquivos usados pelas configurações do aplicativo, consulte a Arquitetura de Configurações do Aplicativo.

Importante

A maioria das seções de configuração definidas pelo .NET Framework não são mais funcionais nas versões .NET 6+ e .NET Core. ConfigurationManager é fornecido apenas para compatibilidade. Em vez de app.config, o .NET moderno usa o arquivo appsettings.json para configurações de aplicativo. Consulte Modernizar depois de atualizar para o .NET do .NET Framework.

Considere remover o uso em app.config e chamar a API correspondente, se disponível, para fazer a mesma configuração. Para obter mais informações, confira Configuração no .NET.

As configurações do aplicativo definem os seguintes elementos como parte dos arquivos de configuração que ele usa.

Elemento Description
<applicationSettings> Contém todas as <setting> marcas específicas do aplicativo.
<userSettings> Contém todas as <setting> marcas específicas para o usuário atual.
<setting> Define uma configuração. Filho de qualquer um <applicationSettings> ou <userSettings>.
<value> Define o valor de uma configuração. Filho de <setting>.

<applicationSettings> elemento

Esse elemento contém todas as <setting> marcas específicas para uma instância do aplicativo em um computador cliente. Ele não define nenhum atributo.

<userSettings> elemento

Esse elemento contém todas as <setting> marcas específicas para o usuário que está usando o aplicativo no momento. Ele não define nenhum atributo.

<setting> elemento

Esse elemento define uma configuração. Ele tem os atributos a seguir.

Attribute Description
name Obrigatório A ID exclusiva da configuração. As configurações criadas por meio do Visual Studio são salvas com o nome ProjectName.Properties.Settings.
serializeAs Obrigatório O formato a ser usado para serializar o valor em texto. Os valores válidos são:

- string. O valor é serializado como uma cadeia de caracteres usando um TypeConverter.
- xml. O valor é serializado usando a serialização XML.
- binary. O valor é serializado como binário codificado em texto usando serialização binária.
- custom. O provedor de configurações tem conhecimento inerente dessa configuração e serializa e a des serializa.

Adicione os nomes para as configurações que você cria <applicationSettings> como entradas sob o <configSections> elemento na parte superior do arquivo. Por exemplo:

<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> elemento

Esse elemento contém o valor de uma configuração.

Example

O exemplo a seguir mostra um arquivo de configurações de aplicativo que define duas configurações com escopo de aplicativo e duas configurações com escopo de usuário:

<?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>

Consulte também