Configurar aplicaciones con archivos de configuraciónConfiguring Apps by using Configuration Files

.NET Framework, a través de archivos de configuración, proporciona a los programadores y administradores control y flexibilidad sobre la manera en que se ejecutan las aplicaciones.The .NET Framework, through configuration files, gives developers and administrators control and flexibility over the way applications run. Los archivos de configuración son archivos XML que se pueden cambiar según sea necesario.Configuration files are XML files that can be changed as needed. 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.An administrator can control which protected resources an application can access, which versions of assemblies an application will use, and where remote applications and objects are located. 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.Developers can put settings in configuration files, eliminating the need to recompile an application every time a setting changes. En esta sección se describe lo que se puede configurar y por qué es útil configurar una aplicación.This section describes what can be configured and why configuring an application might be useful.

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.Managed code can use the classes in the System.Configuration namespace to read settings from the configuration files, but not to write settings to those files.

En este tema 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.This topic describes the syntax of configuration files and provides information about the three types of configuration files: machine, application, and security.

Formato de archivos de configuraciónConfiguration File Format

Los archivos de configuración contienen elementos, que son estructuras de datos lógicas que establecen la información de configuración.Configuration files contain elements, which are logical data structures that set configuration information. En un archivo de configuración se usan etiquetas para marcar el comienzo y el final de un elemento.Within a configuration file, you use tags to mark the beginning and end of an element. Por ejemplo, el elemento <runtime> consta de <runtime>elementos secundarios</runtime>.For example, the <runtime> element consists of <runtime>child elements</runtime>. Un elemento vacío se escribiría como <runtime/> o <runtime></runtime>.An empty element would be written as <runtime/> or <runtime></runtime>.

Como ocurre con todos los archivos XML, la sintaxis de los archivos de configuración distingue mayúsculas de minúsculas.As with all XML files, the syntax in configuration files is case-sensitive.

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.You specify configuration settings using predefined attributes, which are name/value pairs inside an element's start tag. 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).The following example specifies two attributes (version and href) for the <codeBase> element, which specifies where the runtime can locate an assembly (for more information, see Specifying an Assembly's Location).

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

Archivos de configuración del equipoMachine Configuration Files

El archivo de configuración del equipo, Machine.config, contiene valores que afectan a todo un equipo.The machine configuration file, Machine.config, contains settings that apply to an entire computer. Este archivo se encuentra en el directorio %ruta de instalación en tiempo de ejecución%\Config.This file is located in the %runtime install path%\Config directory. 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.Machine.config contains configuration settings for machine-wide assembly binding, built-in remoting channels, and 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.The configuration system first looks in the machine configuration file for the <appSettings> element and other configuration sections that a developer might define. Después, busca en el archivo de configuración de la aplicación.It then looks in the application configuration file. 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.To keep the machine configuration file manageable, it is best to put these settings in the application configuration file. 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.However, putting the settings in the machine configuration file can make your system more maintainable. 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.For example, if you have a third-party component that both your client and server application uses, it is easier to put the settings for that component in one place. 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.In this case, the machine configuration file is the appropriate place for the settings, so you don't have the same settings in two different files.

Nota

Si se implementa una aplicación mediante XCOPY, no se copiarán los valores en el archivo de configuración del equipo.Deploying an application using XCOPY will not copy the settings in the machine configuration file.

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.For more information about how the common language runtime uses the machine configuration file for assembly binding, see How the Runtime Locates Assemblies.

Archivos de configuración de la aplicaciónApplication Configuration Files

Un archivo de configuración de la aplicación contiene valores específicos de una aplicación.An application configuration file contains settings that are specific to an app. 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.This file includes configuration settings that the common language runtime reads (such as assembly binding policy, remoting objects, and so on), and settings that the app can read.

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:The name and location of the application configuration file depend on the app's host, which can be one of the following:

  • Aplicación hospedada en un ejecutable.Executable–hosted app.

    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.These apps have two configuration files: a source configuration file, which is modified by the developer during development, and an output file that is distributed with the app.

    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.When you develop in Visual Studio, place the source configuration file for your app in the project directory and set its Copy To Output Directory property to Copy always or Copy if newer. El nombre del archivo de configuración es el nombre de la aplicación con la extensión .config.The name of the configuration file is the name of the app with a .config extension. Por ejemplo, una aplicación denominada myApp.exe debe tener un archivo de configuración de origen denominado myApp.exe.config.For example, an app called myApp.exe should have a source configuration file called myApp.exe.config.

    Visual Studio copia automáticamente el archivo de configuración de origen en el directorio donde se ubica el ensamblado compilado para crear el archivo de configuración de salida, que se implementa con la aplicación.Visual Studio automatically copies the source configuration file to the directory where the compiled assembly is placed to create the output configuration file, which is deployed with the app. 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).In some cases, Visual Studio may modify the output configuration file; for more information, see the Redirecting assembly versions at the app level section of the Redirecting Assembly Versions article.

  • Aplicación hospedada en ASP.NET.ASP.NET-hosted app.

    Para obtener más información sobre los archivos de configuración de ASP.NET, vea opciones de configuración de ASP.NET.For more information about ASP.NET configuration files, see ASP.NET Configuration Settings.

  • Aplicación hospedada en Internet Explorer.Internet Explorer-hosted app.

    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:If an app hosted in Internet Explorer has a configuration file, the location of this file is specified in a <link> tag with the following syntax:

    <link rel="NombreArchivoConfiguración" href="ubicación"><link rel="ConfigurationFileName" href="location">

    En esta etiqueta, location es una dirección URL para el archivo de configuración.In this tag, location is a URL to the configuration file. Esto establece la base de la aplicación.This sets the app base. El archivo de configuración debe estar ubicado en el mismo sitio web que la aplicación.The configuration file must be located on the same website as the app.

Archivos de configuración de seguridadSecurity Configuration Files

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.Security configuration files contain information about the code group hierarchy and permission sets associated with a policy level. 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.We strongly recommend that you use the Code Access Security Policy tool (Caspol.exe) to modify security policy to ensure that policy changes do not corrupt the security configuration files.

Nota

A partir de .NET Framework 4, los archivos de configuración de seguridad solo están presentes si se cambió la directiva de seguridad.Starting with the .NET Framework 4, the security configuration files are present only if security policy has been changed.

Los archivos de configuración de seguridad están en las ubicaciones siguientes:The security configuration files are in the following locations:

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

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

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

En esta secciónIn This Section

Cómo: Buscar ensamblados mediante DEVPATHHow to: Locate Assemblies by Using DEVPATH
Describe cómo indicar al runtime que utilice la variable de entorno DEVPATH al buscar ensamblados.Describes how to direct the runtime to use the DEVPATH environment variable when searching for assemblies.

Redirigir versiones de ensambladoRedirecting Assembly Versions
Describe cómo especificar la ubicación de un ensamblado y qué versión de un ensamblado se va a usar.Describes how to specify the location of an assembly and which version of an assembly to use.

Especificar la ubicación de un ensambladoSpecifying an Assembly's Location
Describe cómo especificar dónde debe buscar un ensamblado el runtime.Describes how to specify where the runtime should search for an assembly.

Configurar clases de criptografíaConfiguring Cryptography Classes
Describe la forma de asignar un nombre de algoritmo a una clase criptográfica y un identificador de objetos a un algoritmo criptográfico.Describes how to map an algorithm name to a cryptography class and an object identifier to a cryptography algorithm.

Cómo: Crear una directiva de publicadorHow to: Create a Publisher Policy
Describe cuándo y cómo debe agregar un archivo de directivas de editor para especificar la redirección del ensamblado y la configuración del código base.Describes when and how you should add a publisher policy file to specify assembly redirection and code base settings.

Esquema de los archivos de configuraciónConfiguration File Schema
Describe la jerarquía de esquema para el inicio, el tiempo de ejecución, la red y otros tipos de valores de configuración.Describes the schema hierarchy for startup, runtime, network, and other types of configuration settings.

Vea tambiénSee also