Configuración en .NET
La configuración de .NET se realiza mediante uno o varios proveedores de configuración. Los proveedores de configuración leen los datos sobre los ajustes de los pares clave-valor mediante distintos orígenes de configuración:
- Archivos de configuración, como appsettings.json
- Variables de entorno
- Azure Key Vault
- Azure App Configuration
- Argumentos de la línea de comandos
- Proveedores personalizados (instalados o creados)
- Archivos de directorio
- Objetos de .NET en memoria
Configuración de las aplicaciones de consola
De forma predeterminada, las nuevas aplicaciones de consola .NET creadas mediante dotnet new o Visual Studio no exponen las capacidades de configuración. Para agregar la configuración en una nueva aplicación de consola de .NET, agregue una referencia de paquete a Microsoft.Extensions.Hosting. Modifique el archivo Program.cs para que coincida con el código siguiente:
using Microsoft.Extensions.Hosting;
using IHost host = Host.CreateDefaultBuilder(args).Build();
// Application code should start here.
await host.RunAsync();
El método Host.CreateDefaultBuilder(String[]) proporciona la configuración predeterminada para la aplicación en el orden siguiente:
- ChainedConfigurationProvider: agrega un elemento
IConfigurationexistente como origen. - appsettings.json con el proveedor de configuración JSON.
- appsettings.
Environment.json con el proveedor de configuración JSON. Por ejemplo, appsettings.Production_._json y appsettings.Development _._json. - Secretos de la aplicación cuando la aplicación se ejecuta en el entorno
Development. - Variables de entorno con el proveedor de configuración de variables de entorno.
- Argumentos de la línea de comandos con el proveedor de configuración de línea de comandos.
Los proveedores de configuración que se agregan posteriormente invalidan los ajustes de configuración de la clave anteriores. Por ejemplo, si se establece SomeKey tanto en appsettings.json como en el entorno, se usa el valor del entorno. Con los proveedores de configuración predeterminados, el proveedor de configuración de línea de comandos reemplaza al resto de proveedores.
Enlace
Una de las principales ventajas de la configuración en .NET es la capacidad de enlazar los valores de configuración a las instancias de objetos .NET. Por ejemplo, el proveedor de configuración de JSON se puede usar para asignar archivos appsettings.json a objetos .NET y se usa con la inserción de dependencias. Esto habilita el patrón de opciones, que usa clases para proporcionar acceso fuertemente tipado a grupos de configuraciones relacionadas.
Proveedores de configuración
En la siguiente tabla se muestran los proveedores de configuración disponibles para las aplicaciones de .NET Core.
| Proveedor | Proporciona la configuración de |
|---|---|
| Proveedor de configuración de aplicaciones de Azure | Configuración de aplicaciones de Azure |
| Proveedor de configuración de Azure Key Vault | Azure Key Vault |
| Proveedor de configuración de línea de comandos | Parámetros de la línea de comandos |
| Proveedor de configuración personalizada | Origen personalizado |
| Proveedor de configuración de variables de entorno | Variables de entorno |
| Proveedor de configuración de archivo | Archivos JSON, XML e INI |
| Proveedor de configuración de clave por archivo | Archivos de directorio |
| Proveedor de configuración de memoria | Colecciones en memoria |
| Secretos de aplicaciones (Administrador de secretos) | Archivo en el directorio del perfil de usuario |
Para obtener más información sobre los distintos proveedores de configuración, consulte Proveedores de configuración en .NET.
Vea también
- Proveedores de configuración en .NET
- Implementación de un proveedor de configuración personalizado
- Los errores de configuración deben crearse en el repositorio github.com/dotnet/extensions.