Configuración de aplicaciones mediante archivos de configuración

.NET Framework proporciona a los programadores y administradores control y flexibilidad sobre la manera en que se ejecutan las aplicaciones a través de archivos de configuración. Los archivos de configuración son archivos XML que se pueden cambiar según sea necesario. Un administrador puede controlar a qué recursos protegidos puede tener acceso una aplicación, qué versiones de ensamblados utilizará la aplicación y dónde se ubican las aplicaciones y los objetos remotos. Los programadores pueden colocar valores en archivos de configuración, con lo que no es necesario volver a compilar una aplicación cada vez que cambia un valor. En esta sección se describe lo que se puede configurar y por qué es útil configurar una aplicación.

Nota

El código administrado puede utilizar las clases del espacio de nombres System.Configuration para leer los valores desde los archivos de configuración, pero no para escribir valores de configuración en dichos archivos.

En este artículo se describe la sintaxis de los archivos de configuración y se proporciona información sobre los tres tipos de archivos de configuración: de equipo, de aplicación y de seguridad.

Formato de archivo de configuración

Los archivos de configuración contienen elementos, que son estructuras de datos lógicas que establecen la información de configuración. En un archivo de configuración se usan etiquetas para marcar el comienzo y el final de un elemento. Por ejemplo, el elemento <runtime> consta de <runtime>elementos secundarios</runtime>. Un elemento vacío se escribiría como <runtime/> o <runtime></runtime>.

Como ocurre con todos los archivos XML, la sintaxis de los archivos de configuración distingue mayúsculas de minúsculas.

Los valores de configuración se especifican mediante atributos predefinidos, que son los pares de nombre y valor dentro de la etiqueta inicial de un elemento. En el ejemplo siguiente se especifican dos atributos (version y href) para el elemento <codeBase>, que especifica dónde puede ubicar el tiempo de ejecución un ensamblado (para obtener más información, vea Especificar la ubicación de un ensamblado).

<codeBase version="2.0.0.0"  
          href="http://www.litwareinc.com/myAssembly.dll"/>  

Archivos de configuración del equipo

El archivo de configuración del equipo, Machine.config, contiene valores que afectan a todo un equipo. Este archivo se encuentra en el directorio %ruta de instalación en tiempo de ejecución%\Config. Machine.config contiene valores de configuración para el enlace de ensamblados en todo el equipo, canales de comunicación remota integrados y ASP.NET.

El sistema de configuración busca primero el elemento <appSettings> en el archivo de configuración del equipo y en otras secciones de configuración que pueda definir un desarrollador. Después, busca en el archivo de configuración de la aplicación. Para que el archivo de configuración del equipo sea siempre manejable, es mejor ubicar estos valores en el archivo de configuración de la aplicación. Sin embargo, si se ubican los valores en el archivo de configuración del equipo, el sistema puede ser más fácil de mantener. Por ejemplo, si se tiene un componente de terceros que utilizan las aplicaciones de cliente y servidor, es más fácil poner los valores de ese componente en un lugar. En este caso, el archivo de configuración del equipo es el lugar adecuado para los valores, para no tener los mismos valores en dos archivos.

Nota

Si se implementa una aplicación mediante XCOPY, no se copiarán los valores en el archivo de configuración del equipo.

Para obtener más información sobre cómo usa Common Language Runtime el archivo de configuración del equipo para el enlace de ensamblados, vea Cómo el motor en tiempo de ejecución ubica ensamblados.

Archivos de configuración de la aplicación

Un archivo de configuración de la aplicación contiene valores específicos de una aplicación. Este archivo incluye valores de configuración que Common Language Runtime lee (como la directiva de enlace de ensamblados, objetos de comunicación remota, etc.) y valores que puede leer la aplicación.

El nombre y la ubicación del archivo de configuración de la aplicación dependen del host de la aplicación, que puede ser:

  • Aplicación hospedada en un ejecutable.

    Estas aplicaciones tienen dos archivos de configuración: un archivo de configuración de origen, que el desarrollador modifica durante el desarrollo, y un archivo de salida, que se distribuye con la aplicación.

    Al desarrollar en Visual Studio, coloque el archivo de configuración de origen de la aplicación en el directorio de proyecto y establezca su propiedad Copiar en el directorio de salida en Copiar siempre o Copiar si es posterior. De forma predeterminada, el nombre del archivo de configuración es App.config.

    Para crear el archivo de configuración de salida que se implementa con la aplicación, Visual Studio copia el archivo de configuración de origen en el directorio donde se ubica el ensamblado compilado. Este archivo se denomina <yourappname>.exe.config. Por ejemplo, una aplicación denominada myApp.exe tendrá un archivo de configuración de salida denominado myApp.exe.config.

    En algunos casos, Visual Studio puede modificar el archivo de configuración de salida. Para obtener más información, vea la sección Redirecting assembly versions at the app level (Redirigir versiones de ensamblado en el nivel de aplicación) del artículo Redirecting Assembly Versions (Redirigir versiones de ensamblado).

  • Aplicación hospedada en ASP.NET.

    Para obtener más información sobre los archivos de configuración de ASP.NET, consulte Opciones de configuración de ASP.NET.

  • Aplicación hospedada en Internet Explorer.

    Si una aplicación hospedada en Internet Explorer tiene un archivo de configuración, la ubicación de este archivo se especifica en una etiqueta <link> con la sintaxis siguiente: <link rel="*ConfigurationFileName*" href="*location*">.

    En esta etiqueta, location es una dirección URL para el archivo de configuración. Esto establece la base de la aplicación. El archivo de configuración debe estar ubicado en el mismo sitio web que la aplicación.

Archivos de configuración de seguridad

Los archivos de configuración de seguridad contienen información sobre la jerarquía de grupos de código y conjuntos de permisos asociados a un nivel de directiva. Se recomienda encarecidamente usar la herramienta de la directiva de seguridad de acceso a código (Caspol.exe) para modificar la directiva de seguridad y garantizar que los cambios de directiva no dañen los archivos de configuración de seguridad.

Nota

A partir de .NET Framework 4, los archivos de configuración de seguridad solo están presentes si se ha modificado la directiva de seguridad.

Los archivos de configuración de seguridad están en las ubicaciones siguientes:

  • Archivo de configuración de directiva de empresa: %runtime-install-path%\Config\Enterprisesec.config

  • Archivo de configuración de directiva de empresa: %runtime-install-path%\Config\Security.config

  • Archivo de configuración de directiva de usuario: %USERPROFILE%\Application data\Microsoft\CLR security config\vxx.xx\Security.config

Vea también