Configuración de aplicaciones mediante archivos de configuración
Nota
Este artículo es específico de .NET Framework. No se aplica a implementaciones más recientes de .NET, incluidas .NET 6 y versiones posteriores.
.NET Framework proporciona a los desarrolladores y administradores control y flexibilidad sobre la forma en que las aplicaciones se ejecutan 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 qué recursos protegidos puede tener acceso una aplicación, qué versiones de ensamblados usará una aplicación y dónde se encuentran las aplicaciones y objetos remotos. Los desarrolladores pueden colocar la configuración en los archivos de configuración, lo que elimina la necesidad de volver a compilar una aplicación cada vez que cambia una configuración. En esta sección se describe lo que se puede configurar y por qué la configuración de una aplicación puede ser útil.
Nota
El código administrado puede usar las clases del espacio de nombres System.Configuration para leer la configuración de los archivos de configuración, pero no para escribir valores en esos 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: máquina, aplicación y seguridad.
Formato de archivo de configuración
Los archivos de configuración contienen elementos, que son estructuras de datos lógicas que establecen información de configuración. Dentro de un archivo de configuración, se usan etiquetas para marcar el principio 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 pares nombre-valor dentro de la etiqueta de inicio de un elemento. En el ejemplo siguiente se especifican dos atributos (version
y href
) para el elemento <codeBase>
, que indica dónde el tiempo de ejecución puede localizar 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 de la máquina
El archivo de configuración de la máquina, Machine.config, contiene la configuración que se aplica a todo el 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 primero busca en el archivo de configuración del sistema en busca del elemento <appSettings> y otras secciones de configuración definidas por el desarrollador. A continuación, busca en el archivo de configuración de la aplicación. Para mantener el archivo de configuración de la máquina administrable, es mejor colocar estos valores en el archivo de configuración de la aplicación. Sin embargo, colocar la configuración en el archivo de configuración de la máquina puede hacer que el sistema sea más fácil de mantener. Por ejemplo, si tiene un componente de terceros que usa la aplicación cliente y servidor, es más fácil colocar la configuración de ese componente en un solo lugar. En este caso, el archivo de configuración de la máquina es el lugar adecuado para la configuración, por lo que no tiene la misma configuración en dos archivos diferentes.
Nota
La implementación de una aplicación mediante XCOPY no copiará la configuración en el archivo de configuración de la máquina.
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 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 uno de los siguientes:
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.
De forma predeterminada, el nombre del archivo de configuración de origen es App.config. Al crear un proyecto de .NET Framework en Visual Studio, se agrega automáticamente un archivo App.config al proyecto. También puede agregar manualmente un archivo seleccionando Archivo>Nuevo archivo. Coloque el archivo App.config en el directorio del proyecto y establezca su propiedad Copy To Output Directory en Copiar siempre o Copiar si es más reciente.
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 coloca el ensamblado compilado. Este archivo se denomina <yourappname>.exe.config. Por ejemplo, una aplicación denominada myApp.exe tiene un archivo de configuración de salida denominado myApp.exe.config.
En algunos casos, Visual Studio podría modificar el archivo de configuración de salida. Para obtener más información, consulte Versiones de redirección en el nivel de aplicación.
Aplicación hospedada en ASP.NET.
Para obtener más información sobre los archivos de configuración de ASP.NET, consulte Ajustes de configuración de ASP.NET.
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 los conjuntos de permisos asociados a un nivel de directiva. Se recomienda encarecidamente usar la herramienta directiva de seguridad de acceso al código (Caspol.exe) para modificar la directiva de seguridad para asegurarse de que los cambios de directiva no dañan 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 cambiado la directiva de seguridad.
Los archivos de configuración de seguridad se encuentran en las siguientes ubicaciones:
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