Esquema de la configuración de la aplicación

La configuración de la aplicación permite que una aplicación de formularios Windows Forms o ASP.NET almacene y recupere los valores del ámbito de usuario y del ámbito de aplicación. En este contexto, una configuración es cualquier dato que pueda ser específico de la aplicación o específico del usuario actual, desde una cadena de conexión de base de datos hasta el tamaño de ventana predeterminado preferido del usuario.

De forma predeterminada, la configuración de la aplicación en una aplicación de Windows Forms usa la clase LocalFileSettingsProvider, que usa el sistema de configuración de .NET para almacenar los valores en un archivo de configuración XML. Para más información sobre los archivos usados por la configuración de la aplicación, consulte Arquitectura de configuración de la aplicación.

Importante

La mayoría de las secciones de configuración definidas por .NET Framework ya no son funcionales en las versiones .NET 6+ y .NET Core. ConfigurationManager solo se proporciona por compatibilidad. En lugar de app.config, el .NET moderno utiliza el archivo appsettings.json para la configuración de la aplicación. Consulte Modernizar después de actualizar a .NET desde .NET Framework.

Considere eliminar el uso en app.config y llamar a la API correspondiente, si está disponible, para realizar el mismo ajuste. Para obtener más información, vea Configuración en .NET.

La configuración de la aplicación define los siguientes elementos como parte de los archivos de configuración que usa.

Elemento Descripción
<applicationSettings> Contiene todas las etiquetas de <configuración> específicas de la aplicación.
<userSettings> Contiene todas las etiquetas de <configuración> específicas del usuario actual.
<setting> Define un valor de configuración. Elemento secundario de <applicationSettings> o <userSettings>.
<value> Define el valor de una configuración. Elemento secundario de <setting>.

Elemento <applicationSettings>

Este elemento contiene todas las etiquetas <setting> específicas de una instancia de la aplicación en un equipo cliente. No define atributos.

Elemento <userSettings>

Este elemento contiene todas las etiquetas <setting> específicas del usuario que usa actualmente la aplicación. No define atributos.

Elemento <setting>

Este elemento define una configuración. Tiene los atributos siguientes.

Atributo Description
name Necesario. Identificador único de la configuración. La configuración creada mediante Visual Studio se guarda con el nombre ProjectName.Properties.Settings.
serializeAs Necesario. Formato que se va a usar para serializar el valor en texto. Los valores válidos son:

- string. El valor se serializa como una cadena mediante TypeConverter.
- xml. El valor se serializa mediante la serialización XML.
- binary. El valor se serializa como binario con codificación de texto mediante la serialización binaria.
- custom. El proveedor de la configuración tiene conocimientos inherentes de esta configuración y la serializa y deserializa.

Agregue los nombres de las configuraciones que cree en <applicationSettings> como entradas bajo el elemento <configSections> en la parte superior del archivo. Por ejemplo:

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

Elemento <value>

Este elemento contiene el valor de una configuración.

Ejemplo

En el ejemplo siguiente se muestra un archivo de configuración de la aplicación que define dos opciones de configuración de ámbito de aplicación y dos opciones de configuración de ámbito de usuario:

<?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 también